【问题标题】:Access class property inside class method访问类方法内的类属性
【发布时间】:2011-07-27 20:02:52
【问题描述】:

我有一个简单的 PHP 类,我试图从该类中的方法访问该类的属性。我尝试了 $this->property_name 语法,但似乎不起作用。我做错了什么?

class NavigationBuilder {

    public $mPage;
    public $mGeoID;
    public $mContinent;
    public $mCountry;
    public $mRegion;

    private $Geograph = 'a';

    public function construct_navigation() {

    }

    public function __construct() {

        var_dump($Geograph);
    }

}

【问题讨论】:

  • 你试过var_dump($this->Geograph);
  • $this->propertyName 是这样做的方法。你能显示代码不工作的地方吗?

标签: php class properties


【解决方案1】:

试试这个:

class NavigationBuilder {

    public $mPage;
    public $mGeoID;
    public $mContinent;
    public $mCountry;
    public $mRegion;

    private $Geograph;

    public function construct_navigation() {
      $this->Geograph = 'a';
    }

    public function __construct() {

        var_dump($this->Geograph);
    }

}

【讨论】:

    【解决方案2】:

    您是正确的,您需要使用$this->property。 如果您使用 $this

    ,则您的示例有效
    <?php
    
    class NavigationBuilder {
    
        public $mPage;
        public $mGeoID;
        public $mContinent;
        public $mCountry;
        public $mRegion;
    
        private $Geograph = 'a';
    
        public function construct_navigation() {
    
        }
    
        public function __construct() {
    
            var_dump($this->Geograph);
        }
    }
    
    // prints string(1) "a"
    $geo = new NavigationBuilder();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 2018-11-07
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-04
      相关资源
      最近更新 更多