Biri için, (bir dize olması gerekir Zend_Controller_Router_Route_Regex
gibi bir yazım hatası var gibi görünüyor.
Böylece, bu işe yarayacağını düşünebiliriz:
$route = call_user_func_array(array('Zend_Controller_Router_Route_Regex', '__construct'), $args);
Herhangi bir yöntemle için statik bir sınıf yöntemi veya sınıfının bir örneğini çağrılırken Ancak, bildiğim kadarıyla, dizinin (ilk parametre) ilk elemanı ya bir dize olabilir. Ne durumda burada. Böylece, sadece bu şekilde yapardı:
$route = new Zend_Controller_Router_Route_Regex;
call_user_func_array(array('Zend_Controller_Router_Route_Regex', 'setOptions'), $args);
Yerine $args
bu değişkenin türüne bağlı olarak array($args)
kullanmak gerekebilir.
EDIT Hayır, yanılmıyorum. Yolları için setOptions()
işlevi yoktur. Sana bir şey kontrol edelim ...
Ben PHP manual regarding call_user_func_array()
a> bulundu EDIT2 Oldukça çirkin kesmek aşağıdadır:
$route = new Zend_Controller_Router_Route_Regex;
call_user_func_array(array($route, '__construct'), $args);
Ancak, ben bu test etmedi ve (hiç işe eğer) o (kendisine geçirilen herhangi bir parametre kabul ediyor mu? Sadece kurulum sınıfı veya başka şeyler yapılır mı kurucu uygulanmasına bağlı olarak işe yaramayabilir çok?). O amele olmadığını söyle ...