PHP’de “Optional parameter is provided before required” hatası

Kullanığım kod editörü (PHPstorm) başlıkta geçen uyarıyı verdi. Gözüme görünen bir hata ise yoktu, bir süre arayınca bence anlamsız bir şeyin sebep olduğunu farkettim.
Başkası aynı şeyle debelenmesin diye yazmak lazım.

Öncelikle yazacaklarım PHP 5.4 ve sonrası için geçerlidir. (gerçi öncesi kullanan kalmış mıdır?)

uyarı veren kod;

$selamlama = function ($selam = "Merhaba", $isim)

PHP 5.4 ve sonrasında anonim fonksiyon yaratırken değişkene default değer vermek mümkün.
Kuralımız önce tanımsız değişkenler onlar bittikten sonra sağına ise öntanımlaması yapılmış değişkenler şeklinde imiş.

yani kod şu şekilde olmalı imiş, evet bu kadar basit bir sorunmuş.

Niye böyle bir şeye gerek duymuşlar mantıklı bir gerekçe bulamadım. Aynı doğal dillerde olduğu gibi programlama dillerinde de çok inatlaşmayıp kural böyle demek gereken yerler var.

$selamlama = function ($isim, $selam = "Merhaba")

konu ile ilgili referans; // https://www.php.net/manual/tr/functions.arguments.php (örnek 5-6)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir