ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
PHP sürüm 7, skaler tip bildirim özelliğini bir fonksiyonun dönüş değerine de genişletiyor. Bu yeni hükme göre, dönüş tipi bildirimi bir fonksiyonun döndürmesi gereken değerin tipini belirtir. Dönüş tipleri için aşağıdaki tipleri bildirebiliriz.
int
float
bool
string
interfaces
array
callable
Dönüş tipi bildirimini uygulamak için bir fonksiyon şu şekilde tanımlanır:
function myfunction(type $par1, type $param2): type {
# function body
return $val;
}
PHP ayrıştırıcısı varsayılan olarak zorlayıcı yazımdır. Tanımda kullanılan türle döndürülecek değişkenin türünün daha sıkı doğrulanmasını sağlamak için "strict_types=1" bildirmeniz gerekir.
Örnek
Aşağıdaki örnekte division() fonksiyonu int dönüş tipinde tanımlanmıştır.
Ancak scriptin en başına strict_types bildirimini eklediğiniz anda program ölümcül bir hata mesajı veriyor.
Kod:
Fatal error: Uncaught TypeError: division(): Argument #1 ($x) must be of type int, float given, called in div.php on line 12 and defined in div.php:3
Stack trace:
#0 div.php(12): division(20.5, 10)
#1 {main}
thrown in div.php on line 3
VS Code, hata satırlarını hata konumunda görüntüleyerek kodu çalıştırmadan önce bile hata konusunda uyarır.
Örnek
division() fonksiyonunun int yerine float döndürmesini sağlamak için, payı float'a dönüştürün ve PHP'nin ölümcül hatayı nasıl ortaya çıkardığını görün.
Üstteki declare ifadesini yorumdan çıkarın ve çıktısını kontrol etmek için bu kodu burada çalıştırın. Bir hata gösterecektir;
Kod:
First number: 20
Second number: 10PHP Fatal error: Uncaught TypeError: division(): Return value must be of type int, float returned in /home/cg/root/14246/main.php:5
Stack trace:
#0 /home/cg/root/14246/main.php(13): division()
#1 {main}
thrown in /home/cg/root/14246/main.php on line 5