Грешка при анализиране: синтактична грешка, неочаквано „изискване“ (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