gpt4 book ai didi

php - 在 PHP 中检测方法链的结尾?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:03 25 4
gpt4 key购买 nike

我找不到关于我的上述问题的简单示例:如何检测方法链的结尾?

我只是以 Zend_Db_Select 为例,但我认为这个对于这个简单的问题来说太复杂了。

是否有可能在 PHP 中捕获方法链的“结尾”?

谢谢,工厂

最佳答案

没有。这是不可能的。

Zend_Db_Select检测方法链的结尾。您链接的每个方法都只返回 $this 并且当您停止链接时,您就停止了链接。没有神奇的东西说:嘿,这是链条的末端

例子:

$foo = $this->is()->a()->method()->chain();

如果所有方法返回$this,那么$foo将包含chain()的结果,所以$this 再次。你可以从那里继续链接。当然,除了返回 $this 之外,这些方法还会做其他事情,例如设置内部状态——但这就是关于 Method chaining 的全部内容.

如果您的代码需要知道它已经到达链的末端,您必须在运行它之前设置链,例如Chain of Responsibility pattern .

关于php - 在 PHP 中检测方法链的结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2583843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com