2015-06-29 3 views
0

Я использую Laravel 5.0.3 для одного проекта несколько дней назад. Теперь я создаю еще один проект, используя ту же версию, но я заметил, что заявление (или то, что вы называете его) изменился с чем-то вроде:Laravel 5 новая декларация, вызывающая ошибку

«Осветите \ Foundation \ Http \ Middleware \ CheckForMaintenanceMode»

к

\ Illuminate \ Foundation \ Http \ Middleware \ CheckForMaintenanceMode :: класс

и это фактически вызывает FatalError. Моя идея в том, что это как-то связано с версией php, но я пока не хочу обновлять ее.

Какие у меня варианты для сортировки этой проблемы?

ответ

1

Это называется class name resolution и новая функция, реализованная в PHP 5.5. Причина, по которой вы получаете эту ошибку, - ваша PHP-версия вашего PHP-интерпретатора должна быть ниже PHP 5.5. Не забывайте, что пакет Laravel 5.1 LTS требует минимальной версии PHP 5.5.9. Вы можете сохранить свою прежнюю конфигурацию как 'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode' вместо \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class. Но сначала вам следует понизить версию Laravel с 5.1 до 5. Лучше и рекомендуется обновить версию PHP, так как PHP 5.4 скоро будет устаревшим.

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