一部の開発者がnew staticを返す 1 つのメソッドを作成するのはなぜですか? new staticを返すメソッドを持つ理由は何ですか? static と self の違いや、 static と self の意味を尋ねているわけではありません。たとえば、1 つの単純なクラスを次に示します。
<?php
class Expression
{
public static function make()
{
return new static;
}
public function find($value)
{
return '/' . $value .'/';
}
public function then($value)
{
return $this->find($value);
}
public function hi($value)
{
return "hi";
}
}
ご覧のとおり、new staticを返すstaticメソッドmake()があります。次に、一部の開発者は次のように他のメソッドを呼び出します。
$regex = Expression::make()->find('www');
これの目的は何ですか?ここでは、新しい Expression構文を使用していないことがわかりました。それがポイントである場合は、すべてのメソッドを静的にしないのはなぜですか? 違いは何ですか、新しい静的を返す 1 つのメソッドを使用する理由は何ですか(他のメソッドは静的ではありません)。