【问题标题】:More PHP Class Variables $this->variable->function() [duplicate]更多 PHP 类变量 $this->variable->function() [重复]
【发布时间】:2013-08-09 15:00:08
【问题描述】:

我怎样才能拥有一个允许我在调用时拥有另一个变量的类,

例如。

$class->variable1->variable2->function();

【问题讨论】:

  • 我认为变量 1 和变量 2 必须是对象,变量 2 的类必须包含一个 funcion() 方法
  • 您问这个是因为您认为它很酷还是因为您确实需要它?您是否熟悉面向对象的编程?
  • 我有需求,我对OOP有点了解

标签: php


【解决方案1】:

如果你想说$class->function1()->function2()->function3(),你需要在你的函数逻辑的末尾加上return $this

对于$class->var->var->func(),您需要将$class->var->var 作为函数所属类的新实例。

【讨论】:

    【解决方案2】:

    这是你的想法:

    class OtherClass {
      public function something() {
        return "foo";
      }
    }
    
    class Test {
      public $variable;
      public function Test() {
        $this->variable = new OtherClass();
      }
    }
    
    $foo = new Test();
    echo $foo->variable->something();
    

    但是如果你想要那种方法链是有问题的。您可能想查看http://php.net/oop 以获取有关使用 PHP 进行面向对象编程的完整参考。

    【讨论】:

    • 我纠正了一个错字,现在应该可以了。对不起。
    • @Imque - 如果建议的代码段不起作用,那么您的工作就是尝试试验并进行一些调试。如果您的报告只是说“不起作用”,那么 (a) 您可能会因为不努力而遭到反对,并且 (b) 帮助过您的人没有得到任何可以帮助您的额外信息。然后,在提供反馈时尽可能详细。
    猜你喜欢
    • 2012-07-11
    • 1970-01-01
    • 2012-10-17
    • 2013-01-12
    • 2011-07-26
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多