Il-funzjonijiet iżidu kemm il-leġibbiltà kif ukoll l-użu mill-ġdid tal-kodiċi. Mingħajr ma tuża funzjonijiet, isseħħ ħafna ripetizzjoni tal-kodiċi. F'dan it-tutorja, int se titgħallem dak kollu li għandek tkun taf dwar il-funzjonijiet PHP.
X'inhi Funzjoni u Kif tiddikjara funzjoni fil-PHP?
Funzjonijiet PHP huma l-qawwa reali tiegħu. Hemm żewġ kategoriji ta 'funzjonijiet fil-PHP.
- Funzjonijiet inkorporati: PHP jipprovdi aktar minn 1000 funzjoni integrata. Madankollu, Dawn il-funzjonijiet huma lesti biex jintużaw. Għandek bżonn biss isejħilhom b'isimhom. Tista 'tmur permezz tal-funzjonijiet PHP built-in hawn.
- Funzjonijiet Custom: Tista 'tiddefinixxi l-funzjonijiet tiegħek stess u ssejħilhom kullimkien fil-kodiċi. F'dan l-artikolu, se nitkellmu dwar il-funzjonijiet tad-dwana. Funzjonijiet tad-dwana kif imsejħa wkoll funzjonijiet definiti mill-utent.
Funzjonijiet Definiti mill-Utent fil-PHP
F'din it-taqsima, se nitgħallmu kif niddikjaraw u niddefinixxu l-funzjonijiet tagħna stess fil-PHP. Qabel ma tħaffer fiha, ejja nkunu nafu dwar xi fatti ewlenin dwar il-funzjonijiet PHP.
- Funzjoni hija blokk ta 'dikjarazzjonijiet. Jista 'jintuża ripetutament kullimkien fil-kodiċi.
- Meta l-paġna tal-web terġa' tittella', il-funzjonijiet tal-php ma jissejħux awtomatikament.
- Huwa esegwit meta msejjaħ kullimkien.
Kif tiddikjara funzjoni definita mill-utent fil-PHP?
Biex tiddikjara funzjoni PHP personalizzata, uża s-sintassi ġenerali li ġejja.
<?php
function functionName() {
code block related to this function;
}
?>
Per eżempju
<?php
function myFunc() {
echo "Hello world!";
}
myFunc(); // call tge function
?>
Spjegazzjoni tal-eżempju
- Fl-eżempju ta 'hawn fuq, il-funzjoni hija ddikjarata bl-użu ta' keyword tal-funzjoni. Wara dan, parentesi tondi function() tindika l-bidu tal-funzjoni.
- Il-blokk tal-kodiċi tal-funzjoni jibda bi { u jispiċċa b'}.
- Dikjarazzjoni tar-ritorn hija meħtieġa fil-funzjoni, inkella tarmi żball.
Argumenti tal-Funzjoni
Il-parametri ġewwa l-parentesi tondi tal-funzjoni jissejħu argumenti tal-funzjoni. L-argumenti tal-funzjonijiet jistgħu jkunu singoli jew multipli. Argumenti ta' funzjoni multipli huma separati b'virgoli.
Nota: L-ismijiet tal-funzjonijiet mhumiex sensittivi għall-cased. Pereżempju, il-funzjoni abc() u l-funzjoni ABC() huma differenti.
L-argumenti tal-funzjoni huma bħall-varjabbli. L-argumenti huma mogħtija fil-parentesi tondi tal-funzjoni. Jista' jkun hemm argument wieħed jew multipli, separati b'virgola. Dawn l-argumenti jistgħu jiġu aċċessati u modifikati ġewwa l-funzjoni.
Eżempju ta' funzjoni b'argument wieħed
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>
Fl-eżempju ta 'hawn fuq, jirċievi argument wieħed u jgħaqqadha mas-sekwenza. Imbagħad din il-funzjoni tissejjaħ ħames darbiet, b'valuri ta 'argument differenti. Se tara li l-funzjoni se tipprintja l-valur tal-argument flimkien mas-sekwenza.
Eżempju ta' funzjoni b'żewġ argumenti
<?php
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year <br>";
}
familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>
Fl-eżempju ta 'hawn fuq, il-funzjoni tirċievi żewġ argumenti, separati b'virgola. Il-metodu tas-sejħa huwa l-istess kif deskritt fl-eżempju ta 'hawn fuq. Madankollu, irridu ngħaddu żewġ valuri lill-funzjoni waqt li nsejħulha.
X'jiġri jekk tgħaddi argumenti insuffiċjenti għal funzjoni?
<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>
Jekk tipprova ssejjaħ funzjoni b'argumenti insuffiċjenti, din tagħti żball. Madankollu, dejjem hemm xi mod kif tevita dan. Huwa deskritt hawn taħt.
Kif tuża l-valur default fl-argument tal-funzjonijiet - PHP
Funzjoni tista' tassenja valur default għall-argument. Jippermetti li ssejjaħ il-funzjoni mingħajr ma jgħaddi dak l-argument. Huwa muri hawn taħt,
Fl-eżempju ta 'hawn fuq, sejjaħna l-funzjoni mingħajr it-tieni parametru. Il-valur tat-tieni argument se jittieħed mill-valur default li huwa 50.
Jgħaddi l-argument tal-funzjonijiet PHP b'referenza
Fit-taqsima ta 'hawn fuq, tgħallimna dwar kif jgħaddu l-varjabbli b'referenza. Jekk tintuża varjabbli mingħajr ir-referenza, ma tkunx tista' timmodifika l-valur ġewwa l-funzjoni. Minħabba li, f'dan il-każ, l-OS joħloq żewġ kopji tal-argument. Nibdlu l-valur ta 'l-argument ġewwa l-funzjoni fuq jibdlu l-kopja waħda. Minn naha l-ohra. jekk varjabbli tgħaddi b'referenza (bl-użu ta' & sign), ma toħloqx kopji multipli. Għalhekk, il-bidla tal-valur ġewwa l-funzjonijiet se tbiddel il-valur tal-argument oriġinali.
Ritorn mill-funzjonijiet PHP
Dikjarazzjoni tar-ritorn twaqqaf l-eżekuzzjoni tal-funzjoni u tirritorna l-valur.
Per eżempju
<?php declare(strict_types=1); // strict requirement
function sum(int $x, int $y) {
$z = $x + $y;
return $z;
}
echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>
Fl-eżempju ta 'hawn fuq, hemm żewġ argumenti għal din il-funzjoni. Huma tat-tip integer. Is-somma tagħhom tiġi rritornata. Il-funzjoni tissejjaħ b'valuri differenti ta 'argumenti huma l-valur tar-ritorn huwa osservat.
It-tip tal-funzjoni u l-valur tar-ritorn għandhom ikunu tal-istess tip. Per eżempju.
<?php
declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
tiddikjara (strict_types=1) f'php
Fil-PHP, ikteb il-linja ta 'hawn fuq fuq il-quċċata tal-fajl PHP. Jagħmel it-tip ta 'argumenti tal-funzjoni jsegwi strettament. Tgħin biex tevita kwalunkwe dikjarazzjonijiet invalidi, bħal somma ta 'numru u numru ta' string. Per eżempju.
<?php
function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is changed to int(5), and it will return 10
?>
Għal referenza uffiċjali PHP 8 għall-funzjonijiet, ikklikkja hawn.
Issa li taf il-baŜi tal-funzjonijiet, aħna ser niddiskutu Arranġamenti.