【问题标题】:How to access var parents class in a subclass如何在子类中访问 var 父类
【发布时间】:2014-03-05 00:12:30
【问题描述】:

如何从子类中的父类访问公共变量?

我有几个变量需要访问。

由于某种原因,我收到此错误“致命错误:不在对象上下文中使用 $this ......”

  class mainclass{
      public $hello = 'hello';
  }
  class subclass extends mainclass{       
      public function sayhello(){
         $this->hello;// not working
      }
  }   

【问题讨论】:

  • 澄清“不工作”是什么意思?你究竟是如何运行这段代码的?
  • 好吧,我得到这个错误'致命错误:不在对象上下文中使用 $this ......'
  • 你如何运行这段代码?你试过用你的错误信息谷歌吗?你为什么没有?
  • 我还是个菜鸟,所以是的,我用过谷歌。
  • 您正在正确访问它。您提供的代码是正确的。但是好像对学习不感兴趣。那么,祝你好运。

标签: php class extends


【解决方案1】:

因为你不返回或不回显任何值

 class mainclass{
      public $hello = 'hello';
  }
  class subclass extends mainclass{       
      public function sayhello(){
         echo $this->hello; // or return $this->hello

      }
  }  

更新: Meaby你不知道如何使用对象?此代码有效!

  $class = new subclass();
  $class->sayhello();

【讨论】:

  • $classobject 的可怕名称
  • 这种情况下没关系!
  • 对于不懂正确术语的新手来说确实很重要
【解决方案2】:

使用parent::

class mainclass{
  public $hello = 'hello';
}
class subclass extends mainclass{       
  public function sayhello(){
    echo public::hello;
  }
}

我建议将变量 hello 更改为私有并为此实例创建一个 getter 方法。

【讨论】:

    猜你喜欢
    • 2017-05-21
    • 2017-10-12
    • 2018-08-15
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多