Php Declare
php declare
Php de declare özelliği katı kurallar yani özellikle bu şekilde olacak dediğimizde kullanırız. Bir düşünün bir matematik işlemi yapacaksınız ve kullanıcıdan değer girmesini istediniz. Kullanıcı bilmeden sayı yerine yazı girebilir işte burada sisteme uyarı vermenin en kolay yolu php declare özelliğimizdir. Hemen bir örnek yapalım.
function sahap($deger1, $deger2){
$topla = $deger1 + $deger2 ;
return $topla;
}
echo sahap("3","8"); // çıktısı : 11
bir tık zorlaştıralım
function sahap(int $deger1, int $deger2){ // burada dedik ki int yazı burası integer sayı ona göre işlem yap ancak php içerikler sayı olduğu için bize yardımcı oldu
$topla = $deger1 + $deger2 ;
return $topla;
}
echo sahap("3","8"); // çıktı : 11
hata alalım
function sahap(int $deger1, int $deger2){
$topla = $deger1 + $deger2 ;
return $topla;
}
echo sahap("Şahabettin","8"); // hata sayfası gelecektir çünkü "Şahabettin" bir sayı değildir. Biz yukarıda int olmasını istedik. Bazı sunucu veya localhost ta sadece uyarı verebilir ama bu işlem bir hatadır.
declare fonksiyondan önce yazılmalıdır. Kullanımı : declare(strict_types = 1);
declare(strict_types = 1); sadece int ile sınırlı değildir bool, float, strin içinde kullanabilirsiniz.
declare(strict_types = 1);
function sahap( int $deger1, int $deger2){ // $deger1, $deger olarak yazsak yani int siz yazsak sorun olmayacaktır
$topla = $deger1 + $deger2 ;
return $topla;
}
echo sahap("15","8"); // çıktımız: hata dönecektir.
declare özelliğimizi fonksiyonun içindeki değerlere tanımlayabildiğimiz gibi fonksiyonun sonucu da declare edebiliriz.
declare(strict_types = 1);
function sahap( int $deger1, int $deger2) : int { // fonksiyonun sonucu int olarak istedik.
$topla = $deger1 + $deger2 ;
return $topla;
}
echo sahap( 15, 8); // çıktısı : 23
veya yine çalıştı çünkü strin 2 değerin toplamıda int olarak sonuçlandı
declare(strict_types = 1);
function sahap( $deger1, $deger2) : int {
$topla = $deger1 + $deger2 ;
return $topla;
}
echo sahap( "15", "8"); // çıktısı : 23