Ошибка синтаксического анализа: синтаксическая ошибка, неожиданное «требование» (T_REQUIRE), ожидание идентификатора (T_STRING) в ComposerAPI.php в строке 203

Я хочу использовать ComposerAPI (https://github.com/kabachello/ComposerAPI) для моего проекта. Но я получил это сообщение об ошибке с PHP 5.6

Ошибка синтаксического анализа: синтаксическая ошибка, неожиданное «требование» (T_REQUIRE), ожидание идентификатора (T_STRING) в ComposerAPI.php в строке 203

С PHP 7.0 все работает нормально. Кто-нибудь может мне помочь ?

Спасибо.


person Björn Strausmann    schedule 04.02.2018    source источник


Ответы (1)


Имя функции в этой строке "require" :

public function require(array $package_names, array $options = null, OutputInterface $output = null){ }

PHP 5 не позволяет использовать зарезервированное ключевое слово в качестве имени функции.

Начиная с PHP 7, интерпретатор понимает, что это не функция require(), а метод класса.

В документации сказано:

Начиная с PHP 7.0.0, эти ключевые слова разрешены в качестве имен свойств, констант и методов классов, интерфейсов и трейтов, за исключением того, что класс нельзя использовать в качестве имени константы.

Таким образом, этот код нельзя использовать с PHP до версии 7.0.

person Syscall    schedule 04.02.2018