Intereting Posts
Zend Framework – отображаются не все ошибки Могу ли я добавить промежуточное ПО к файлу Guzzle 6 HandlerStack по умолчанию, а не создавать новый стек? Blade Laravel: как установить переменные в шаблоне? Загружать одну и ту же карту ACF дважды на той же странице обновить div для извлечения информации из базы данных без обновления всей страницы Как кэшировать ответ api с помощью curl, на основе возвращенного etag? Объединить 2 массива объектов в PHP Вход в Facebook / Регистрация с помощью Codeigniter – данные пользователя PDO_ODBC: имя источника данных не найдено и указанный драйвер по умолчанию не указан Запрос Ajax с запрещенным кодом Ошибка CodeIgniter: «Запрошенное действие не разрешено». Symfony Назначьте сразу несколько значений в Bridge Entity Form Отправка электронной почты с открытым текстом php и html бесконечная прокрутка (wordpress) Является ли тот же файл символизирован каждый раз, когда я его включаю?

Константное выражение содержит недопустимые операции

У меня есть следующий код, где я получаю сообщение об ошибке «PHP Fatal Error: константное выражение содержит недопустимые операции». Он отлично работает, когда я определяю переменную в конструкторе. Я использую структуру Laravel.

<?php namespace App; class Amazon { protected $serviceURL = config('api.amazon.service_url'); public function __construct() { } } 

Как описано здесь

Переменные элемента класса называются «свойствами». Вы также можете увидеть, как они ссылаются на другие термины, такие как «атрибуты» или «поля», но для целей этой ссылки мы будем использовать «свойства». Они определяются с использованием одного из ключевых слов public, protected или private, за которым следует объявление нормальной переменной. Это объявление может включать инициализацию, но эта инициализация должна быть постоянным значением, то есть она должна быть способна быть оценена во время компиляции и не должна зависеть от информации о времени выполнения для оценки.

Единственный способ сделать эту работу: –

 <?php namespace App; class Amazon { protected $serviceURL; public function __construct() { $this->serviceURL = config('api.amazon.service_url'); } } 

Инициализация свойств класса не допускается таким образом. Вы должны переместить инициализацию в конструктор.