Ano ang Type Hinting sa PHP?

Ano Ang Type Hinting Sa Php



Pahiwatig ng Uri ng PHP ay isang lubos na kapaki-pakinabang na tampok na magagamit mula noong PHP 5. Bago ang bersyong ito, ang mga function ng PHP ay hindi nangangailangan ng anumang partikular na uri ng data na ideklara sa kanilang mga argumento o parameter. Sa pagpapakilala ng PHP 5, maaari na ngayong tukuyin ng mga developer ang mga uri ng data para sa kanilang mga function sa PHP gamit ang isang feature na kilala bilang type hinting. Ito ay maaaring partikular na kapaki-pakinabang kapag nag-a-update ng isang partikular na instance sa loob ng isang PHP program.

Sa artikulong ito, susuriin natin ang PHP uri ng pahiwatig kakayahan at galugarin ang pareho mahina at mahigpit na uri ng pahiwatig .

Ano ang PHP Type Hinting?

I-type ang pahiwatig nagsisilbing termino ng programming na nagbibigay-daan sa iyong tukuyin ang uri ng data ng mga inaasahang argumento sa isang function. Halimbawa, kapag nagsusulat ng isang 'idagdag' function, maaari mong ipahiwatig na ang parameter ay dapat na isang integer. Kung tatawagin mo ang function na may anumang bagay maliban sa isang integer, isang error ang magaganap, na tumutukoy na ang isang integer ay kinakailangan. Nag-aalok ang PHP ng dalawang uri ng mga pahiwatig para sa mga deklarasyon ng scalar at return-type:







Ano ang Weak Type Hinting?

Mahinang uri ng pahiwatig ay isang default na mode ng pagpapatakbo para sa PHP, na hindi gumagawa ng anumang mga error sa kaso ng uri ng deklarasyon mismatch. Sa ibang salita, mahinang uri ng pahiwatig nagbibigay-daan sa PHP na isagawa ang code nang hindi bumubuo ng isang error, kahit na ang uri ng data ng parameter ay hindi tumutugma sa nilalayong uri.



Halimbawa



Isaalang-alang ang isang halimbawa na nagpapatupad mahinang uri ng pahiwatig sa PHP.






$num1 = dalawampu ;
$num2 = 3.16537 ;
function marami ( lumutang $num1 , int $num2 )
{
bumalik $num1 * $num2 ;
}
echo 'Ang kinakalkula na halaga ay: ' , marami ( $num1 , $num2 ) ;
?>

Sa code sa itaas, ang function marami tumatagal ng dalawang parameter, $num1 ng uri ng float at $num2 ng uri ng int, ngunit ang mga halaga na ipinasa bilang mga argumento ay may iba't ibang uri. Sa kabila ng uri ng mismatch, ang code ay gumagana nang hindi bumubuo ng isang error o nakamamatay na error, na nauugnay sa kahulugan ng mahinang uri ng pahiwatig .

Output



Ano ang Strict Type Hinting?

Mahigpit na Uri ng Pahiwatig sa PHP ay isang mode na nagpapatupad mahigpit na pagta-type at ibinabato a Fatal Error kung may naganap na hindi pagkakatugma ng deklarasyon ng uri. Ang mga variable lamang ng eksaktong uri ng uri ng deklarasyon ang tinatanggap, at anumang iba pang uri ay magreresulta sa a Pagkakamali sa pagtype .

Upang gamitin mahigpit na uri ng pahiwatig , ang unang pahayag sa file ay dapat na (strict_types=1) , o kung hindi, magkakaroon ng error sa compiler. Ang mode na ito ay nakakaapekto lamang sa partikular na file kung saan ito ginagamit at hindi maaaring ma-override sa runtime, dahil ito ay ganap na compile-time.

Halimbawa

Isaalang-alang ang isang halimbawa na nagpapatupad ng mahigpit na uri ng pahiwatig sa PHP.


magpahayag ( strict_types = 1 ) ;
$num1 = dalawampu ;
$num2 = 3.16537 ;
function marami ( lumutang $num1 , int $num2 )
{
bumalik $num1 * $num2 ;
}
echo 'Ang kinakalkula na halaga ay: ' , marami ( $num1 , $num2 ) ;
?>

Ang halimbawa sa itaas ay nauugnay sa mahigpit na uri ng pahiwatig dahil kabilang dito ang 'ipahayag (strict_types=1)' pahayag, na nagbibigay-daan mahigpit na uri pagsuri sa file. Anumang uri ng hindi pagkakatugma ng deklarasyon ay magreresulta sa isang nakamamatay na error.

Output

Ang code sa itaas ay magbibigay ng error dahil ang float value ay ina-access gamit ang int at ang integer value ay ina-access gamit ang float data type.

Konklusyon

I-type ang pahiwatig sa PHP ay nagbibigay-daan sa mga developer na tukuyin ang mga inaasahang uri ng data ng mga argumento sa isang function. Nag-aalok ang PHP ng dalawang uri ng mga pahiwatig: mahinang uri ng pahiwatig at mahigpit na uri ng pahiwatig . Mahinang uri ng pahiwatig ay isang default na mode ng operasyon na hindi gumagawa ng anumang mga error o nakamamatay na mga error sa kaso ng uri ng deklarasyon mismatch, habang mahigpit na uri ng pahiwatig nagpapatupad ng mahigpit na pagta-type at naghagis ng Fatal Error kung may naganap na hindi pagtutugma ng deklarasyon ng uri. Ang mga developer ay dapat pumili ng naaangkop na uri-hinting technique batay sa kanilang mga partikular na kinakailangan.