PHP 方法链还是流利的接口? [英] PHP method chaining or fluent interface?

查看:36
本文介绍了PHP 方法链还是流利的接口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 PHP 5,并且听说了面向对象方法中的一个新特性,称为方法链".究竟是什么?如何实现?

I am using PHP 5 and I've heard of a new featured in the object-oriented approach, called 'method chaining'. What is it exactly? How do I implement it?

推荐答案

其实很简单.您有一系列 mutator 方法,它们都返回原始(或其他)对象.这样,您可以继续在返回的对象上调用方法.

It's rather simple, really. You have a series of mutator methods that all return the original (or other) object. That way, you can keep calling methods on the returned object.

<?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"

尝试上线啦!

这篇关于PHP 方法链还是流利的接口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆