Инициализация / Назначение переменных члена класса другим переменным члена класса

0

Я вернусь к веб-разработчику и переучиваю PHP правильно, и у меня есть очень глупая проблема, которую я должен решить, но не могу.

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

class Endpoints {

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

}

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

Заранее спасибо!

Теги:

1 ответ

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

}

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню