初始化/将类成员变量分配给其他类成员变量

时间:2014-12-06 11:01:02

标签: php

我回到网络开发并以正确的方式重新学习PHP,而且我有一个非常愚蠢的问题,我应该能够解决但不能......

我试图基本上将基本网址值指定为类属性,然后使用该值分配给新的类属性。

class Endpoints {

   protected $baseURL = 'https://api.com';
   protected $baseAccountsURL = $this->baseURL . '/accounts';

}

我尝试直接访问$ baseURL,没有$ this->,但它也失败了。我更喜欢使用CONST,但是将CONST分配给其他CONST的能力在5.6之前不可用。我已经查看了PHP Class Properties页面并搜索了SO,但我来自Java背景,所以我的问题可能就是术语..和语法:p

提前致谢!

1 个答案:

答案 0 :(得分:1)

您不能以这种方式分配属性,您需要在构造函数中执行此操作:

class Endpoints {

   protected $baseURL = 'https://api.com';
   protected $baseAccountsURL;

   public function __construct()
   {
       $this->baseAccountsURL = $this->baseURL . '/accounts';
   }
}

或者,这可行:

class Endpoints {

   protected $baseURL = 'https://api.com';
   protected $baseAccountsURL = 'https://api.com/accounts';

}

但我认为第一个选择就是你需要的。