我有一个项目需要特定的逻辑,但我不确定如何在 OOP php 中表达它。我已经看到了类似于我在 Laravel 等框架中需要做的事情。下面是一个框架如何做到这一点的例子:return View::make("index")->with("name", $name);所以基本上我想要一个Fruit带有公共函数的静态基类,type它可以作为字符串独立使用和设置,如下所示:return Fruit::type("apple");此外,我想要一个“修饰符”子调用,它可以让我向该函数添加另一个字符串,Fruit::type 该函数知道是否进行了子调用并且它是返回值。有点像这样:return Fruit::type("apple")->quality("outerColor", $color);
1 回答

呼啦一阵风
TA贡献1802条经验 获得超6个赞
诸如此类的调用Fruit::type("apple")意味着对 Fruit 类进行了静态函数调用。因此,你需要这样的东西:
class Fruit
{
public static function type($fruitType)
{
if ($fruitType === 'apple') {
$object = new Apple();
}
return $object;
}
}
您所说的 asub-call实际上只是方法链接。因此,您type在 Fruit 类中的函数需要返回一个我们可以进一步操作的对象。在这个例子中,我们可以有一个 Apple 类来做到这一点:
class Apple
{
private $qualities = [];
public function quality($key, $value)
{
$this->qualities[$key] = $param;
return $this;
}
}
- 1 回答
- 0 关注
- 69 浏览
添加回答
举报
0/150
提交
取消