PHP5 Sınıf kapsamı tuhaflıklar

0 Cevap php

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?

0 Cevap