2014-12-06 3 views
0

Я возвращаюсь в веб-разработчик и переучиваю PHP правильно, и у меня есть чрезвычайно глупая проблема, которую я должен решить, но не могу. .Инициализация/Назначение переменных-членов класса другим переменным-членам класса

Я пытаюсь в основном присвоить значение базового URL-адрес, как свойство класса, а затем использовать это значение для назначения нового класса собственности ..

class Endpoints { 

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

} 

Я пытался доступ к $ BaseUrl напрямую, без $ this->, но это не удается. Я бы предпочел использовать CONST, но возможность назначать CONSTs другим CONSTs будет недоступна до 5.6. Я просмотрел страницу PHP Class Properties и искал SO, но я пришел из фона Java, поэтому моя проблема здесь, вероятно, терминология .. и синтаксис: p

Заранее благодарен!

ответ

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'; 

} 

Но я думаю, что первый вариант что вам нужно.

Смежные вопросы