2012-03-19 9 views
0

GeneralNews()thisCreateInstance()と返されたとすると、最初の2つの方法は機能しますが、最後の方法は失敗します。新しい演算子がチェーン構造を作成しないのはなぜですか?

なぜわからないのですか?

$objGeneralNews = new GeneralNews(); 

$arrDataList = $objGeneralNews->SetWhere('news01date="2011-01-01"')->GetFrontList(); 
var_dump($arrDataList); //This method works 

$arrDataList = GeneralNews::CreateInstance()->SetWhere('news01date="2011-01-01"')->GetFrontList(); 
var_dump($arrDataList); //This method works 

$arrDataList = (new GeneralNews())->SetWhere('news01date="2011-01-01"')->GetFrontList(); 
var_dump($arrDataList); //This method doesn't works 

クラスコードGeneralNews:確かに

class GeneralNews {   
    public function GeneralNews(){ 
     return this; 
    } 

    public static function CreateInstance(){ 
     $strClassName = 'GeneralNews'; 
     return new $strClassName; 
    } 
} 
+0

CreateInstance()とGeneralNewsのコンストラクタ関数のコードを投稿できますか? –

答えて

関連する問題