0

returnとreturnを想定すると、最初の 2 つのGeneralNews()メソッドは機能しますが、最後のメソッドは失敗します。thisCreateInstance()this

私はなぜ理解していないのですか?

$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;  
    }
}
4

1 に答える 1

2

new実際、式のオブジェクトを直接参照することは、PHP 5.3では機能しませんが、PHP 5.4 では機能します

于 2012-03-19T07:03:34.367 に答える