Tag: phalanger

用于.net的Phalanger和php库

我有三个我想在我的.net应用程序中使用的php类。 我使用Phalanger来获取这三个类并使用此命令创建一个.dll文件: phpc /target:dll Client.php Crypt.php Exception.php 当然输出了Client.dll以及Client.pdb文件。 从那里我去了VS2012并创建了一个新的asp.net应用程序并添加了Client.dll作为参考。 但是我没有看到任何类的公共方法和对象浏览器窗口显示: 客户端>客户端>基本类型>对象(这样我只有Object类型的方法) 我已经尝试过这个方法/教程来使其工作,这涉及将自定义接口转换到您的对象但是我收到错误: 找不到类型或命名空间名称ScriptContext 这当然意味着它不知道ScriptContext的内容或位置。 但是这个教程是从2007年开始的,所以我不知道它是否会过时或者我应该从哪里获得该类? 我找到的另一个教程就像以前一样。 它说: 如果你想使用现有的PHP源代码(为标准解释器开发)而不进行修改,你必须使用传统模式,但是当你想开发新的PHP项目时,你可以考虑使用纯模式 但我无法在文档中找到遗留模式的步骤,并且更喜欢尝试“纯”模式(因此我不必更改/编辑我现有的PHP代码)。 我确实尝试过(纯模式)但是它不会使用上面的命令编译(phalanger compile)(将DynamicObject.php类添加到命令中)。 如何在php类中获取我的公共方法?

Phalanger找不到我的php课程

在这个问题之后,我发现了一个很好的(最新的)示例。 我成功地让PHP.Core库在VS中工作,但仍然在查找我的php类时遇到问题。 然而,该教程很简单 dynamic phpObj = globals.@class.PhpClass(); 从来没有找到我的PHP课程。 我尝试过使用示例文件default.php(classname:PhpClass)和我自己的php类,它们类似,但名称不同。 我在这里想念的是什么? 我试过了这个选项 项目属性>打包/发布Web>要部署的项目>项目中的所有文件 但那并没有帮助。 目前我在项目下面有我的php课程,如下所示 我得到的错误只是说它找不到类: 在这里使用ILSpy是CurrentContext的主要代码片段 result = (((ScriptContext)CallContext.GetData(“PhpNet:ScriptContext”)) ?? ScriptContext.CreateDefaultScriptContext()); 这是用于查找php类(AFAIK)的代码行。