Funcții PHP. PHP este un limbaj tiparit mai puțin.. Declarații type. Declarația strict. Declarația strict_types=1.
Partajeaza in Google Classroom
Memorator: Descriere video Descarcă PDF
În exemplul precedent, observați că nu trebuie să spunem PHP-ului ce tip de date (data type) este variabila.
PHP asociază automat un tip de date (data type) variabilei, în funcție de valoarea acesteia. Deoarece tipurile de date (data types) nu sunt setate într-un sens strict, puteți face lucruri precum adăugarea unui șir (string) la un număr întreg (integer) fără a provoca o eroare.
În PHP 7, au fost adăugate declarații de tip (type declarations). Aceasta ne oferă opțiunea de a specifica tipul de date (data type) preconizat la declararea unei funcții, iar prin adăugarea declarației strict, va arunca o „Fatal Error” dacă nu există o nepotrivire a tipului de date (data type).
În exemplul următor, încercăm să trimitem atât un număr cât și un șir (string) la funcție fără a folosi declarația strict:
Exemplu:
<?php
function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5 days");
// deoarece NU este activat strict, „5 days” este schimbat în int(5) și va întoarce 10
?>
Pentru a specifica strict trebuie să setăm declarația (strict_types=1);. Aceasta trebuie să fie chiar în prima linie a fișierului PHP.
În exemplul următor încercăm să trimitem atât un număr cât și un șir (string) la funcție, dar aici am adăugat declarația strict:
Exemplu:
<?php declare(strict_types=1); // cerință strictă
function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5 days");
// din moment ce strict este activat și „5 days” nu este un număr întreg (integer), va fi afișată o eroare
?>
Declarația strict obligă lucrurile să fie utilizate în modul dorit.