我们有一个应用程序,它是用PHP编写的,在Phalanger上运行。因此,我们在其中集成了一些.NET元素。然而,我们似乎遇到了由.NET程序集引起的问题,因为它在更新到最新版本后无法再识别它们。如果我们将版本降级到大约一年前,它运行良好。但是,我们希望能够将.NET程序集与最新版本一起使用。引起问题的一个例子是:
$sections = new SystemCollectionsGenericList<:string:>;
编译器抱怨:
CompileError (2014): Syntax error: unexpected token 'List'
有人知道谁在使用最新版本的Phalanger吗?
'List'是PHP关键字,它不是有效的PHP标识符。然而,Phalanger有额外的配置选项,允许在标识符中使用这样的关键字。
将以下内容添加到.config文件中:<phpNet><compiler><set name="LanguageFeatures"><add value="CSharpTypeNames" />
这允许编译器将不允许的PHP关键字视为标识符。