2016-04-29 16 views
1

で一度に使用される静的私は、これは、モデルの名前空間をエコー5.0は新しいとlaravel 5

echo (new static)->getMorphClass(); 

larvelのコードのいずれかの奇妙なラインで発生します。今すぐにnewstaticが一度に使用されることを理解できませんでした。

PHPのバージョンが5.6.3

答えて

0

new staticあるだけでPHPの構文で、Laravelとは何の関係もありません。 staticキーワードは現在のクラスのを参照していますので、new staticです。現在のクラスコンストラクタを呼び出すだけです。

この例を考えてみましょう:

class Cat { 
    private function __construct($type) 
    { 
     $this->type = $type; 
    } 

    public static function getACat($newType) 
    { 
     return new static($newType); // same as 'return new Cat($newType);' 
    } 

    public function print() 
    { 
     echo $this->type; 
    } 
} 

$cat1 = Cat::getACat("Fatty"); 
$cat1->print(); // --> Fatty