Selam guruları php. Ben açıkça php bazı cilvesi ile yapmak zorunda bazı tuhaf sınıf kapsamı sorunlarla çalıştırıyorum. Herkes out-of-the-sıradan durumlar aşağıdaki hatayı verebilir bana ne söyleyebilir ...
Fatal error: kendini erişemiyor :: hiçbir sınıf kapsamı aktif olduğunda MyClass.php on line 5
Ben kendini :: dışında sınıfının kullanmak olsaydı Şimdi, açıkçası, ben hataları almak istiyorum ... ama ben değilim. İşte durumun basitleştirilmiş bir versiyonu ...
//file1
class MyClass{
public static function search($args=array()){
$results = MyDbObject::getQueryResults("some query");
$ordered_results = self::stack($results); //Error occurs here
return $ordered_results;
}
public static function stack($args){
//Sort the results
return $ordered_results;
}
}
//file 2
include_once("MyClass.php");
$args = array('search_term'=>"Jimmy Hoffa");
$results = MyClass::search($args);
Bu kurulum verilen nasıl yukarıdaki hata alabilirim? İşte ben bugüne kadar buldum ne olduğunu ...
MyClass::search($args) //does not give the error (usually)
call_user_func("MyClass::search"); // this gives the error!
Herhangi bir diğer durumlar?