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