Ben Reflection API kullanarak bir fonksiyon çağırmak zorunda. Işlevi, isteğe bağlı parametreleri vardır, ve ben sadece bazı bunların sağlanması çağırmak gerekir.
Örneğin, ben bu işlevi vardır:
public function doSomething($firstParam, $secondParam = "default", $thirdParam = "default)
Ve ben bir değer ayarlamak için ihmal argümanları temsil eden bir değerler dizisi geçirerek, invokeArgs() doSomething() çağırmak için kullanıyorum isteğe $secondParam:
$parameters = array("firstParam"=>"value", "thirdParam"=>"thirdValue");
$reflectedDoSomething->invokeArgs($instance, $parameters);
Burada ne olur invokeArgs() $secondParam, şimdi değerli "thirdValue" atlama ve atlama olmadan, arka arkaya parametrelerini ayarlayarak yöntemini çağırır olduğunu $thirdParam . Ve bu mantıksal olarak doğru değil. Yöntemi doSomething("value", "thirdValue") gibi çağrılır.
Ne burada yapmak istiyorum varsayılan değeri kullanmak için $secondParam zorlamaktır. null, bir değerdir, çünkü $parameters dizi "secondParam" => null ayarlama bir çözüm değildir.
O Yansıma kullanarak Possibile mı?
Teşekkürler