Mükemmel Tamam - ama hangi statik olmayan yöntem denecek nesne göstermek üzere sınıfının bir örneği bir nesneyi geçmek zorunda olduğuna dikkat:
class MyClass {
public function hello() {
echo "Hello, World!";
}
}
$a = new MyClass();
call_user_func(array($a, 'hello'));
You böyle bir şey kullanmamalısınız:
call_user_func('MyClass::hello');
size aşağıdaki uyarıyı verecektir Hangi:
Strict standards: `call_user_func()` expects parameter 1 to be a valid callback,
non-static method `MyClass::hello()` should not be called statically
(yöntem statik olarak ilan edilmiştir, bu mükemmel iyi çalışacak ... ama burada, değil)
Daha detaylı bilgi için, kılavuzun callback bölümüne bir göz alabilir , bu, diğer şeyler arasında, bildiren (alıntı):
bir örneği nesnenin bir yöntem olup indeksi 0 bir nesne ve yöntem ismi içeren bir dizi olarak geçirilirendeksi 1.
de 210 PHP 5.2 ile sıkı bir hata alıyorum ve PHP 5.3 ile, muhtemelen yapılandırma meselesi ise - Ben
error_reporting
yönergesi düşünüyorum.
E_ALL
içermediğini
Not E_STRICT
(quoting):
E_ALL
: Tüm hatalar ve uyarılar seviyesinin E_STRIC
hariç, T.
desteklenen gibi alırsınız PHP5.3'te aynı uyarı. Php5.3 ve php5.2 yapılandırmanızın farklı olduğu anlaşılıyor. "Error_reporting" dosyasına bakın. – vooD