PHP Դասեր - Դաս 7 - PHP ֆունկցիաներ և ֆունկցիոնալ ծրագրավորում
Կարծում եմ մենք արդեն բավականին մոտեցել ենք այն պահին, երբ... երբ արդեն կարելի է սկսել ծրագրավորել։ Այս դասից հետո դուք արդեն կարող եք ասել, որ ծրագրավորել եք PHP-ով։ Բավականին հաճախ անհրաժեշտ է գրել կոդ, որը պետք է կրկնվի այլ էջերում կամ այլ .php ֆայլերում։ Որպեսզի այդ կոդը չկրկնվի բազմիցս՝ PHP-ում կան ֆունկցիաներ։
Ֆունկցիան անկախ կոդի բլոկ է, որը կատարում է որոշ գործողություններ։ Նման ֆունկցիաներ մենք հանդիպել ենք նախորդ դասերում՝
time()
– վերադարձնում է վայրկյանների քանակը Unix ժամանակահաշվարկի սկզբից։print()
,echo()
– արտածում են html տեքստ։floor()
– կոտորակային թվից վերադարձնում է ամբողջ մասը։
Ինչպես նկատեցիք՝ ֆունկցիաները գրանցվում են երկու փակագծերի միջոցով՝ անուն()
։ Անվանման կանոնները նույնն են, ինչ փոփոխականների համար։ Միակ տարբերությունն այն է, որ ֆունկցիաները չեն օգտագործում $
նշանը։
Ֆունկցիայի կառուցվածք
<?php function plus_one($x){ // ֆունկցիայի հայտարարում $x = $x + 1; // ֆունկցիայի մարմին return $x; // վերադարձվող արժեք } $y = 1; $y = plus_one($y); // ֆունկցիայի կանչ print $y; ?>
Ֆունկցիայի անուն
- Պետք է սկսվի տառով կամ ընդգծումով (_)
- Կարող է պարունակել միայն տառեր, թվեր և ընդգծում
- Չպետք է պարունակի բացատներ։ Բազմաբառ անունները կարող են գրվել my_function() կամ myFunction() տեսքով։
Ֆունկցիա հայտարարելու համար օգտագործվում է function բանալի բառը։
Ֆունկցիայի մարմին
Ֆունկցիայի ներսում գրվում են գործողությունները։ Դրանք փակվում են {}
ֆիգուր փակագծերում։
Վերադարձվող արժեք
return
բառից հետո գրվում է այն արժեքը, որը ֆունկցիան պետք է վերադարձնի։ Այդ արժեքը կարող է վերագրվել փոփոխականի կամ անմիջապես օգտագործվել։
Ֆունկցիայի պարամետրեր
Դրանք այն փոփոխականներն են, որոնք գրվում են անունից հետո փակագծերի մեջ։ Կարող են լինել մի քանիսը՝ բաժանված ստորակետով։
<?php function myFunction($x1, $x2, $x3){ } $y = myFunction($z, 34, 'Բարև, աշխարհ'); ?>
Եթե կանչելիս պարամետրերի քանակը չի համապատասխանում, կստացվի սխալ։
Օրինակ՝ մաթեմատիկական ֆունկցիա y = -2x + 4
<?php function myFunction($x){ $y = -2 * $x + 4; return $y; } $z1 = myFunction(1); $z2 = myFunction(2); $z3 = myFunction(3); print $z1 . '<br />' . $z2 . '<br />' . $z3; ?>
Արդյունքը՝ -2, 0, 2։ Այս օրինակից պարզ է դառնում ֆունկցիայի աշխատանքը։
Ֆունկցիոնալ ծրագրավորում
Ֆունկցիոնալ ծրագրավորման հիմքում կանգնած են ֆունկցիաները։ Յուրաքանչյուր ֆայլ կարող է պարունակել տասնյակ ֆունկցիաներ։ Ինչպես կառավարել այդ քանակը՝ պարզ է։ Օրինակ՝
<?php function incr($x){ $x++; return $x; } function decr($y){ $y--; return $y; } $z = 0; $z = incr($z); $z = incr($z); $z = incr($z); $z = incr($z); $z = decr($z); print $z; ?>
Արդյունքը կլինի 3։ Եթե տեղափոխենք ֆունկցիաները ներքև՝ ոչինչ չի փոխվի։ PHP-ն կգտնի ֆունկցիան՝ անկախ գտնվելու վայրից։
Ֆունկցիաները տեղափոխենք ֆայլեր
decr.php
<?php function decr($y){ $y--; return $y; } ?>
incr.php
<?php function incr($x){ $x++; return $x; } ?>
index.php
<?php include 'incr.php'; include 'decr.php'; $z = 0; $z = incr($z); $z = incr($z); $z = incr($z); $z = incr($z); $z = decr($z); print $z; ?>
Արդյունքը՝ 3։ Այժմ հնարավոր է կազմակերպել կոդը՝ ֆունկցիաները դնելով առանձին ֆայլերում։
PHP-ում ֆունկցիոնալ ծրագրավորման հնարավորությունները այսքանով չեն ավարտվում։ Հաջորդ դասերում կշարունակենք ուսումնասիրել թեման։