【问题标题】:PHP how can make an function like this? first()->callSecond();?PHP怎么能做出这样的函数呢?第一()->调用第二();?
【发布时间】:2016-06-15 02:35:50
【问题描述】:

我尝试在下面创建一个这样的函数,如何做到这一点,有什么例子吗?

$myClass->first()->callSecond();

【问题讨论】:

  • 这只是意味着$myClass->first()的结果是一个对象,方法是callSecond()

标签: php function


【解决方案1】:

你只需要一直返回对象。它被称为fluent interface。它可以是自己或其他对象。

<php
class A
{
    public function first()
    {
        // Do something

        return $this;
    }
    public function callSecond()
    {
        // Do somewthing else

        return $this;
    }
}

$a = (new A())->first()->callSecond();

【讨论】:

【解决方案2】:
  <?php
     class OtherClass{
        public function callSecond(){
            echo 'Second Called';
        }  
     }

    class MyClass{
        public function first(){
            return new OtherClass();
        }
    }

    $myClass = new MyClass();
    $myClass->first()->callSecond();
?>

【讨论】:

猜你喜欢
  • 2015-11-27
  • 2020-05-24
  • 2015-08-08
  • 2021-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多