为什么要返回新的静态?(菲律宾比索)
2022-08-30 10:31:10
为什么有些开发人员创建了一个返回新静态的方法?有什么原因需要一个返回新静态的方法?我不是在问静态和自我之间的区别是什么,或者静态和自我意味着什么。例如,下面是一个简单的类:
<?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";
}
}
如您所见,有一个静态方法 make() 返回新的 static。然后,一些开发人员调用其他方法,如下所示:
$regex = Expression::make()->find('www');
这样做的目的是什么?我看到这里我们没有使用新的表达式语法,如果这是重点 - 那么为什么不让所有方法都是静态的呢?有什么区别,有什么原因让一个方法返回新的静态(而其他方法不是静态的)?