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-ում ֆունկցիոնալ ծրագրավորման հնարավորությունները այսքանով չեն ավարտվում։ Հաջորդ դասերում կշարունակենք ուսումնասիրել թեման։