0

这个问题之后,我在这里找到了一个很好的(最新的)示例。我成功地让 PHP.Core 库在 VS 中工作,但仍然无法找到我的 php 类。

教程很简单,但是

dynamic phpObj = globals.@class.PhpClass();

永远找不到我的 php 类。我尝试使用示例文件 default.php(类名:PhpClass)和我自己的 php 类,它们相似但名称不同。

我在这里想念什么?我试过这个选项

项目属性>打包/发布 Web>要部署的项目>项目中的所有文件

但这没有帮助。目前我在项目下有我的 php 类,如下所示 在此处输入图像描述

我得到的错误只是说它找不到类: 在此处输入图像描述

在此处使用 ILSpy 是 CurrentContext 的主要代码片段

result = (((ScriptContext)CallContext.GetData("PhpNet:ScriptContext")) ?? ScriptContext.CreateDefaultScriptContext());

这是用于查找 php 类 (AFAIK) 的代码行。

4

1 回答 1

1

您必须首先将您的 php 文件包含到 PHP 上下文中……在 Web 应用程序中,要正确“模拟”php 生命周期,请执行以下操作:

using (var request_context = RequestContext.Initialize(ApplicationContext.Default, HttpContext.Current))
{
    var context = request_context.ScriptContext;
    context.Include("default.php", false);
// now the declarations declared by default.php are available in context.
// do anything with PHP objects here
}
于 2012-10-16T16:50:07.127 回答