12-мавзу. Функциялар. Класслар ва объектлар. Хатоликлар билан ишлаш

Slides:



Advertisements
Similar presentations
Def f(n): if (n == 0): return else: print(“*”) return f(n-1) f(3)
Advertisements

Scientific Programming for(i=0; i b) { a = func1(c,d,i*10); } else if(a < b) { a = func2(e,f,i*10); } else { a = func3(g,h,i*10);
Мурат Кадиров Ўзбекистон Республикаси Молия вазирлиги
I боб. Delphi дастурлаш тили
Анъанавий ва интерфаол педагогик технологиялар
Using someone else’s words as your own by: ≈ Directly copying from a book or other work ≈ “Cut and paste” from the Internet Use “quotation marks” around.
Description and/or Definition
When writing a research paper or using someone else's work you need to cite the source of your information. Always use these formats when citing a source.
Замонавий дорихона ва фармацевтик ёрдам Профессор Х.С.Зайнутдинов.
Support standard JavaScript code with static typing Encapsulation through classes and modules Support for constructors, properties and.
Bibliographic Information Set Up: Author’s last name, first initial. (Year of publication, month). Title of the article. Title of the Magazine, Volume.
Миллий ғ оя тар ғ иботи ва маънавий-маърифий ишлар самарадорлигини ошириш.
Л.Н. Туйчиев Тошкент Тиббиёт Академияси
ANNOUNCEMENTS. EVENTS CALENDAR TITLE OF EVENT Details about the event. Date: Month, Day Time: 00:00-00:00 Location: Campus Building.
MLA Citations Practice
PHP: Inserting data FdSc Module 109 Server side scripting and
PHP 5 Syntax.
PHP Arrays Functions.
JavaScript Arrays Date
Мавзу: «Дори воситаси сифатини дастлабки хом ашёга богликлиги
3-маъруза. РНР да сатр ва массивлар билан ишлаш
Description and/or Definition
Presentation Title Here
ИНТЕРНЕТ ТАРМОҒИ РЕСУРСЛАРИ.
User-defined Functions
Урганч Давлат Университети “Информатика ва AT” кафедраси
מיחזור במערכת החינוך.
АЛОҚА ВОСИТАЛАРИ ВА МОБИЛ АЛОҚА ТЕХНОЛОГИЯЛАРИ
Бачадон ва бачадон буйни фон ва рак олди касалликлари
Information needed for citing sources:
User-defined Functions
Мавзу: Ялпи миллий махсулот ва унинг харакат шакллари.
PHP: Basics FdSc Module 109 Server side scripting and Database design
Description and/or Definition
CSCI 297 Scripting Languages Day Seven
Компьютер техникаси ривожланиши тарихи
КОМПЬЮТЕР БИЛАН ИШЛАШ. РЕЖА:  Компьютерни ишга тушуриш;  Windows операцион тизими;  Файллар билан ишлаш;  Windows стандарт дастурлари билан ишлаш;
КОМПЬЮТЕР ВА УНИНГ ТАЪМИНОТИ. РЕЖА Компьютер ва унинг вазифаси; Компьютер қурилмалари ва уларнинг вазифалари; Компьютерда мультимедиа (аудио, видео) маълумотларини.
1 Мавзу:. Ўзбекистон Республикаси Молия вазирлигининг 2005 йил 25 мартдаги 35-сонли буйруғи билан ТАСДИҚЛАНГАН ва ЎзР АВ томонидан 2005 йил 27 июнда 1485-сон.
УМУМИЙ ЎРТА ТАЪЛИМ ВА ИХТИСОСЛАШТИРИЛГАН МАКТАБЛАРИДА ЧЕТ ТИЛИ ФАНЛАРИНИНГ ЎҚИТИЛИШИ: ЎРГАНИШ, ЎҚИТИШ, БАҲОЛАШ.
Масофавий таълим тизими.
ЎЗБЕКИСТОН РЕСПУБЛИКАСИ ОЛИЙ ВА ЎРТА МАХСУС ТАЪЛИМ ВАЗИРЛИГИ АНДИЖОН ДАВЛАТ УНИВЕРСИТЕТИ Х.Т.ИСМОИЛОВА.
ИНТЕРНЕТ ИЖТИМОИЙ ТАРМОҚ ХИЗМАТЛАРИ
TEXНОЛОГИЯ “Технология” – юнонча «techne» сўзидан олинган бўлиб, маҳорат, санъат деган маънони, «logos» - сўз, таълимот маъносини англатади. “Технология”
Ускуналарни излаш ва етказиб бериш
EXCEL ЭЛЕКТРОН ЖАДВАЛЛИ ДАСТУР
Headaches, Elevated Blood Pressure and Convulsions
Таёрлади : Шомуродов Санжарбек.  Умумий тушунчалар  Адсорбциянинг модций баланси ва кинетик қ онуниятлари  Абсорция жараёнининг асосий тенгламаси.
МАЪРУЗАЧИ : ПРОФЕССОР A.Ж. ЖЎРАЕВ
Мавзу:Ишбилармон кишилар этикети.
2-маъруза. Замонавий дастурлаш тизимлари
4-мавзу. HTML да формалар, фреймлар ва объектлар
“Ғарблашиш ортидаги ғариблашиш” мавзусидаги давра суҳбати
Пропорционал ва кучайтирувчи звено. Идеал интеграллагич звено.
Самарқанд давлат университети аналитик кимё кафедрасининг доценти
“PROJECT WORK”.
php.ini (in C:\xampp\php\) date.timezone = Asia/Taipei
Magazine Articles.
РАҚАМЛИ ИҚТИСОДИЁТНИНГ МАКРОИҚТИСОДИЙ МАСАЛАЛАРИ
“Саноат корхоналарида энергосамарадорликни ошириш” лойиҳаси – ҳудудларга хорижий инвестицияларни жалб этиш бўйича мақбул имкониятлар.
Чет тили ўқитувчиларининг касбий маҳоратини оширишнинг самарали йўллари ПК-1875.
Электрон таълим тизими.
THE BASE OF ELECTROCHEMISTRY
ЎЗМУДА ТАЪЛИМ ЖАРАЁНИНИ MOODLE АСОСИДА БОШҚАРИШНИ ТАШКИЛЛАШТИРИШНИНГ
Молиявий инструментлар таҳлил усуллари
Госпитал терапия доц.Маматкулов Х.А.
Шахсий компьютернинг дастурий таъминоти.
ITM 352 Functions.
URL Website title Article title Author Publication date
Presentation transcript:

12-мавзу. Функциялар. Класслар ва объектлар. Хатоликлар билан ишлаш 12-мавзу. Функциялар. Класслар ва объектлар. Хатоликлар билан ишлаш. PHP-функциялар Режа: 1. Функциялар. 2. Функцияларнинг аргументлари 3. Ўзгарувчан узунлик аргументлари рўйхатлари 4. Функциялар ичида ўзгарувчилардан фойдаланиш 5. Функциянинг ўзгарувчилари 6. Ички жойлашган (ичма-ич) функциялар 7. Синфлар ва объектлар 8. Ўзгарувчиларни инициаллаштириш 9. Объектлар

Функция синтаксиси function Функция_номи (1-параметр, 2-параметр, ... N-параметр) { Амаллар блоки return "функцияга айланувчи маъно"; }

Функциялар Натурал сон факториалини ҳисоблаш функцияси <?php function fact($n){ if ($n==0) return 1; else return $fact = $n * fact($n-1); } echo fact(3); // echo (3*2) деб ёзиш мумкин эди; лекин сон катта бўлса, echo fact(50); // функциядан фойдаланиш қулайроқ, // echo (50*49*48*...*3*2) деб ёзгандан; ?>

Функцияларнинг аргументлари Аргументлар ёрдамида маълумот-лар функцияга уч хил усуллар билан ўтказилиши мумкин: аргументларни маъносига кўра (ўзгармас ҳолатда фойдаланилади); иловаларга кўра; ўзгармас ҳолатда.

Мисол. Аргументларни маъносига кўра ўтказиш <?php // қўшимча қилиши мумкин бўлган функция checked сўзи қаторига ёзилади function add_label(&$data_str){ $data_str .= "checked"; } $str = "<input type=radio name=article "; // бундай қатор мавжуд бўлсин echo $str ."><br>"; //белгиланмаган радио кнопкаси add_label($str); // функцияни чақирамиз // бу энди белгиланган радио кнопкани келтиради ?>

Мисол. Тинч ҳолатдаги аргумент маъноси <?php function Message($sign="Таш.қўмита."){ // бу ерда параметр sign айни пайтда “Таш.қўмита” маъносига эга echo "Кейинги йиғилиш эртага бўлиб ўтади.<br>"; echo "$sign<br>"; } Message(); // Параметрсиз функцияни чақирамиз. Бу ҳолда имзо – Бу Ташкилий қўмита Message("Ҳурмат билан Камолиддин"); // Бу ҳолда имзо "Ҳурмат билан Камолиддин." бўлади ?> Бу скрипт ишининг натижаси қуйидагича: Кейинги йиғилиш эртага бўлиб ўтади. Ташкилий қўмита. Ҳурмат билан Камолиддин.

Мисол. Ўзгармас ҳолда аргументни ўтказиш <?php function Add_article($title, $description, $author="Мурод Ёқубов") { echo "Мақолани каталогга киритамиз: $title,"; echo "муаллиф $author"; echo "<br>Қисқа тавсиф: "; echo "$description <hr>"; } Add_article("Информатика ва биз","Бу мақола информатикага оид ...","Зайниддин Саидов"); Add_article("Характерлар ким","Бу мақола характерлар ҳақида ..."); ?>

Ўзгарувчан узунлик аргументлари рўйхатлари <?php function DataCheck(){ $n = func_num_args(); echo "Функция аргументлари сони $n"; } DataCheck(); // қаторни келтиради "0 функция аргументлари сони" DataCheck(1,2,3); //қаторни келтиради "3-функция аргументлари сони" ?>

Функциялар ичида ўзгарувчилардан фойдаланиш 1. Глобал ўзгарувчилар 2. Статистик ўзгарувчилар 3. Қайтарилувчан маънолар 4. Ҳаволани қайтариш

Глобал ўзгарувчилар <? global $var1, $var2; $a=1; function Test_g(){ global $a; $a = $a*2; echo ' $a=',$a функция ишида натижа; } echo 'функциядан ташқарида $a=',$a,', '; Test_g(); echo "<br>"; echo функциядан ташқарида $a=',$a,', '; ?>

Статистик ўзгарувчилар <? function Test_s(){ static $a = 1; // ифода ёки ҳаволани ўзлаштириб бўлмайди $a = $a*2; echo $a; } Test_s(); // 2 чиқади // ҳеч нарса чиқмайди, зеро $a фақат функция ичида // кириш йўлаги бор Test_s(); // $a=2 функция ичида, шунинг учун функция // иши натижаси 4 сони бўлади ?>

Қайтарилувчан маънолар <?php function Full_age($b_day, $b_month, $b_year) { $y = date("Y"); $m = intval(date("m")); $d = intval(date("d")); $b_month = intval($b_month); $b_day = intval($b_day); $b_year = intval($b_year); $day = ($b_day > $d ? 30 - $b_day + $d : $d - $b_day); $tmpMonth = ($b_day > $d ? -1 : 0); $month = ($b_month > $m + $tmpMonth ? $b_month + $tmpMonth - $m : $m+$tmpMonth - $b_month); $tmpYear = ($b_month > $m + $tmpMonth ? -1 : 0); if ($b_year > $y + $tmpYear) $year = 0; $month = 0; $day = 0; } else $year = $y + $tmpYear - $b_year; return array ($day,$month,$year); $age = Full_age("29","06","1986"); echo "Сизни ёшингиз $age[2] ёш, $age[1] ой ва $age[0] кун"; ?>

Ҳаволани қайтариш <? $a = 3; $b = 2; function & ref($par){ global $a, $b; if ($par % 2 == 0) return $b; else return $a; } $var =& ref(4); echo $var, " и ", $b, "<br>"; // 2 ва 2 келтирилади $b = 10; echo $var, " и ", $b, "<br>"; // 10 ва10 келтирилади ?>

Функциянинг ўзгарувчилари <? /* Иккита оддий функция тузамиз: Add_sign – қаторга имзо қўшади ва Show_text –матн қаторини чиқариб беради*/ function Add_sign($string, $sign="Ҳурмат билан, Мурод") { echo $string ." ".$sign; } function Show_text() { echo "Хабарни почтадан жўнатиш<br>"; $func = "Show_text"; // маънога эга ўзгарувчи тузамиз, у функция номига тенг Show_text $func(); // у Show_text функцияни чақиради $func = "Add_sign"; // маънога эга ўзгарувчи тузамиз, у функция номига тенг Add_sign $func("Ҳаммага салом <br>"); // бу функцияни чақиради Add_sign "Ҳаммага салом" параметрли ?>

Ички жойлашган (ичма-ич) функциялар Фойдаланувчи томонидан аниқланадиган функцияларда ички жойлашган функциялардан фойдаланилади. Юқорида биз echo(), print(), date(), include() каби ички жойлашган функциялар билан танишдик. Бундан ташқари date() функциядан бошқа барча функциялар PHP дастурлаш тили конструкциясига эга. Улар PHP дастурлаш тили ядросига жойлашган бўлиб, ҳеч қандай модуллар ва қўшимча ўзгартиришлар талаб этилмайди. Аммо шундай функциялар мавжудки, уларга турли файл библиотекалари ва мос равишда модулларни юклаш зарур. Масалан, MySql маълумотлар базаси билан ишлайдиган функциялардан фойдаланиш учун шундай кенгайтмали файлларни қўллаб қувватлайдиган компоненталари керак. Охирги вақтларда бу функциялардан фойдаланиш учун қўшимча компоненталар керак эмас, чунки уларнинг барчаси ҳозирда PHP дастурлаш тили ядросига киритилган.

Синфлар ва объектлар PHP дастурлаш тилида синфлар қуйидаги синтаксис ёрдамида аниқланади: class Синф_номи { var $хусусият_номи; /*хусусиятлар рўйхати*/ function метод_номи( ){ /* усулларнинг танаси */ } /*усуллар рўйхати*/

Ўзгарувчиларни инициаллаштириш <? class Articles { // мақола синфини тузамиз var $title= $_POST["title"]; var $author = "Камолов"; var $description = $_POST["description"]; var $published = date("Y-m-d"); // синф атрибути маъносини ўзлаштирувчи усул } ?> Синфнинг қуйидаги ифодаси эса PHP4да кераклича йўсинда ишлайди: class Articles { // мақола синфини тузиш var $title; var $description; var $published; function Articles(){ $this->title = $_POST["title"]; $this->description = $_POST["description"]; $this ->published = date("Y-m-d"); } } ?>

Объектлар Объектлар – объектга йўналтирилган дастурлашдан кириб келган маълумот типидир. Объектга йўналтирилган дастурлаш тамойилига кўра, синф – аниқ хоссаларга эга ва улар билан ишлайдиган методли объектлар тўплами. Объект эса мос равишда синф нусхасидир.

Объект методи PHP дастурлаш тилида объект методига мурожаат -> амалидан фойдаланилади. Объектни инициализация қилишда объектни ўзгарувчан нусхасини яратадиган new ифодасидан фойдаланилади. <?php // одам синфини яратамиз. class Person { // PHP дастурлаш тилини ўрганадиган одам методи function know_php() { echo "Энди мен PHP дастурлаш тилини биламан!"; } } $bob = new Person; // одам синфини объектини яратамиз $bob -> know_php(); // уни PHP тилига ўргатамиз ?>