我使用的是PHP5,我听说面向对象方法中有一个新特性,叫做"方法链".它到底是什么?我该如何实施呢?

推荐答案

其实很简单.你有一系列mutator methods个都返回原始(或其他)对象.这样,就可以继续对返回的对象调用方法.

<?php
class fakeString
{
    private $str;
    function __construct()
    {
        $this->str = "";
    }
    
    function addA()
    {
        $this->str .= "a";
        return $this;
    }
    
    function addB()
    {
        $this->str .= "b";
        return $this;
    }
    
    function getStr()
    {
        return $this->str;
    }
}


$a = new fakeString();


echo $a->addA()->addB()->getStr();

这将输出"ab"

Try it online!

Php相关问答推荐

PHP和可选函数参数

Laravel通过(扩展FormRequest类)方法验证表单请求

无法添加ProxyClass__setInitialized()上的忽略

我的docker—compose lamp stack在软件更新后不工作:Containerconfig错误'''

WordPress:将自定义单选输入字段添加到用户配置文件

WooCommerce产品按特定元数据的自定义数字排序选项

WooCommerce在store 页面上显示兼容多语言的产品属性

在PHP中,如何将介于0和1之间(包括0和1)的浮点概率转换为数组索引?

是否有条件判断是否发布了另一个Wordpress页面?

Rappasoft Datatables V2(我想在另一个表具有相同值列时显示数据)

使用 php Carbon 获取两个日期之间的随机日期和时间

如何使用 PHP 将带有图像的文本上传到 Linkedin?

invalid_grant 和无效的 JWT 签名

将 WooCommerce 0 销售价格替换为自定义文本,并保留常规价格删除线

在WooCommerce我的账户单个订单页面中添加订单商品部分和按钮

如何使用相同的变量使函数参数对于数组和字符串都是可选的

如何使用属性创建属性预设?

来自命令行的 PHP 没有给出正确的结果

构建 [Controller] 时目标 [Interface] 不可实例化

如何通过路由传递变量