Mi a Type Hinting a PHP-ben?

Mi A Type Hinting A Php Ben



PHP típusú tippelés Ez egy rendkívül hasznos szolgáltatás, amely a PHP 5 óta elérhető. E verzió előtt a PHP függvények nem igényeltek semmilyen konkrét adattípust az argumentumaikban vagy paramétereikben. A PHP 5 bevezetésével a fejlesztők mostantól megadhatnak adattípusokat PHP-függvényeikhez a típus-hivatkozásként ismert funkció segítségével. Ez különösen előnyös lehet egy adott példány frissítésekor egy PHP programon belül.

Ebben a cikkben a PHP-vel foglalkozunk típusú utalás képességeit, és fedezze fel mindkettőt gyenge és szigorú típusú célzás .

Mi az a PHP Type Hinting?

Tipp utalás programozási kifejezésként szolgál, amely lehetővé teszi a várt argumentumok adattípusának megadását egy függvényben. Például amikor egy 'hozzáadás' függvényében jelezheti, hogy a paraméter egész szám legyen. Ha a függvényt nem egész számmal hívja meg, hiba lép fel, amely megadja, hogy egy egész számra van szükség. A PHP kétféle tippet kínál a skaláris és visszatérési típusú deklarációkhoz:







Mi az a gyenge típusú utalás?

Gyenge típusú utalás a PHP alapértelmezett működési módja, amely nem okoz hibát a típusdeklaráció eltérése esetén. Más szavakkal, gyenge típusú utalás lehetővé teszi, hogy a PHP hiba generálása nélkül futtassa le a kódot, még akkor is, ha a paraméter adattípusa nem egyezik a kívánt típussal.



Példa



Vegyünk egy példát, amely megvalósítja gyenge típusú utalás PHP-ben.






$szám1 = húsz ;
$num2 = 3,16537 ;
funkció több ( úszó $szám1 , int $num2 )
{
Visszatérés $szám1 * $num2 ;
}
visszhang 'A számított érték: ' , több ( $szám1 , $num2 ) ;
?>

A fenti kódban a függvény több két paramétert vesz igénybe, $szám1 típusú úszó és $num2 int típusú, de az argumentumként átadott értékek különböző típusúak. A típus eltérés ellenére a kód hiba vagy végzetes hiba generálása nélkül fut le, ami a gyenge típusú utalás .

Kimenet



Mi az a szigorú típusú tippelés?

Szigorú típusú utalás a PHP-ben egy olyan mód, amely kényszeríti szigorú gépelés és dob a Fatális hiba ha típusdeklaráció eltérés lép fel. Csak a deklaráció típusának pontosan megfelelő típusú változókat fogadunk el, és minden más típus a Típushiba .

Használni szigorú típusú célzás , az első utasításnak a fájlban kell lennie (szigorú_típusok=1) , különben fordítóhiba történik. Ez a mód csak arra a konkrét fájlra van hatással, amelyben használják, és futás közben nem bírálható felül, mivel teljes mértékben fordítási idejű.

Példa

Tekintsünk egy példát, amely szigorú típusú tippelést valósít meg PHP-ben.


kijelent ( szigorú_típusok = 1 ) ;
$szám1 = húsz ;
$num2 = 3,16537 ;
funkció több ( úszó $szám1 , int $num2 )
{
Visszatérés $szám1 * $num2 ;
}
visszhang 'A számított érték: ' , több ( $szám1 , $num2 ) ;
?>

A fenti példa erre vonatkozik szigorú típusú célzás mivel magában foglalja a „declare (strict_types=1)” nyilatkozatot, amely lehetővé teszi szigorú típus a fájl ellenőrzése. Bármilyen típusú deklarációs eltérés végzetes hibát eredményez.

Kimenet

A fenti kód hibaüzenetet ad, mert a lebegő értéket az int, az egész értéket pedig lebegő adattípussal éri el.

Következtetés

Tipp utalás A PHP-ben lehetővé teszi a fejlesztők számára, hogy egy függvényben megadják a várt argumentumok adattípusait. A PHP kétféle tippet kínál: gyenge típusú utalás és szigorú típusú célzás . Gyenge típusú utalás egy alapértelmezett működési mód, amely nem okoz semmilyen hibát vagy végzetes hibát típusdeklarációs eltérés esetén, míg szigorú típusú célzás szigorú gépelést kényszerít ki, és végzetes hibát dob, ha típusdeklaráció eltérés lép fel. A fejlesztőknek sajátos igényeik alapján kell kiválasztaniuk a megfelelő típusjelzési technikát.