Sen parametreler listenin sonunda değil bir parametre "geçemez" olamaz:
- Eğer 3. parametresini belirtmek isterseniz, 1. ve 2. olanlar geçmek zorunda
- Eğer 2. parametresini belirtmek istiyorsanız, size 1 tane geçmek zorunda - ama optionnal eğer 3, dışarı bırakılabilir.
Sizin durumda, 2. parametre için bir değer geçmek zorunda - varsayılan bir, ideal olarak; ki, evet, bu varsayılan değer bilmek için gereklidir.
A possible alternative would be not have your function take 3 parameters, but only one, an array :
function my_function(array $params = array()) {
// if set, use $params['first']
// if set, use $params['third']
// ...
}
Ve bu böyle o işlevi çağırır:
my_function(array(
'first' => 'plop',
'third' => 'glop'
));
Bu olanak sağlayacak:
- herhangi bir sayıda parametre kabul
- bütün bunlar optionnal olabilir
Ancak:
- kodunuzu anlamak için daha az kolay olurdu, ve dokümantasyon daha az yararlı olacaktır: adlandırılmış parametreleri
- IDE size fonksiyonu kabul parametreleri hangi ipuçları vermek mümkün olmaz