Phalanger: неожиданный токен "Список"
У нас было приложение, которое было написано на PHP и работает на Phalanger. В результате мы включили в него какой-то элемент.NET. Однако, похоже, что мы страдаем от проблем, вызванных сборками.NET, так как он больше не может их распознавать после обновления до последней версии. Если мы понизим версию до года назад, она будет работать нормально. Однако мы хотели бы иметь возможность использовать сборки.NET с последней версией. Пример чего-то, что вызывает проблемы:
$sections = new System\Collections\Generic\List<:string:>;
компилятор жалуется, что:
CompileError (2014): Syntax error: unexpected token 'List'
У кого-нибудь есть идеи, кто использует последнюю версию Phalanger?
1 ответ
"List" - это ключевое слово PHP, и оно не является действительным идентификатором PHP. Однако Phalanger имеет дополнительную опцию настройки, которая позволяет использовать такие ключевые слова в идентификаторах.
Добавьте следующее в ваш файл.config:<phpNet><compiler><set name="LanguageFeatures"><add value="CSharpTypeNames" />
Это позволяет компилятору обрабатывать запрещенные ключевые слова PHP как идентификатор.