1
で一度に使用される静的私は、これは、モデルの名前空間をエコー5.0は新しいとlaravel 5
echo (new static)->getMorphClass();
larvelのコードのいずれかの奇妙なラインで発生します。今すぐにnew
とstatic
が一度に使用されることを理解できませんでした。
PHPのバージョンが5.6.3
で一度に使用される静的私は、これは、モデルの名前空間をエコー5.0は新しいとlaravel 5
echo (new static)->getMorphClass();
larvelのコードのいずれかの奇妙なラインで発生します。今すぐにnew
とstatic
が一度に使用されることを理解できませんでした。
PHPのバージョンが5.6.3
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