【问题标题】:How i can define a hierarchy inside same class [duplicate]我如何在同一个类中定义层次结构[重复]
【发布时间】:2020-08-07 22:35:10
【问题描述】:

从这个伪代码开始:

class myClass {

    public function foo() {
       // something
    }

    public
    function f1() {
        return "something one";
    }

    public
    function f2() {
        return "something two";
    }

}

我如何修改此代码以获得类似的内容:

$myclass = new myclass();
echo $myClass->foo()->f1(); // display: something one
echo $myClass->foo()->f2(); // display: something two

有可能吗?我试图找到一些东西但没有解决。 谢谢。

【问题讨论】:

  • 层次结构?我想你的意思是执行顺序?
  • 你应该使用继承。
  • 您好,关于您的建议,我已经看过了,但与我的意思不同。我不想要一个类的扩展,但想要定义一个层次结构。我已经解决了定义一个函数,该函数实例化了从其他类调用的对象,但我想尝试从同一个类中执行它。明白我的意思吗?
  • 答案没有用吗?

标签: php


【解决方案1】:

你需要记住的是返回instance of class,否则在调用下一个方法时,它会返回致命错误

class myclass {

protected $fooVar;

public function foo($string) {
    $this->fooVar = $string;

    return $this;
}

public function myFunc($string) {
    return $this->fooVar . " || " . $string;
}

}


$class = new myClass();

// output:: myString || my new sexy text
echo $class->foo("myString")->myFunc("my new sexy text"); 

【讨论】:

    猜你喜欢
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多