在this question之后,我找到了一个关于here的好(最新)示例。我成功地让PHP.Core库在VS中工作但仍然在查找我的php类时遇到问题。
但教程很简单
dynamic phpObj = globals.@class.PhpClass();
从未找到我的php类。我已尝试使用示例文件default.php(classname:PhpClass)和我自己的php类,它们类似但名称不同。
我在这里缺少什么?我试过了选项
项目属性>打包/发布网络>要部署的项目>所有文件 项目
但这并没有帮助。目前我在项目下面有我的php课程,如下所示
我得到的错误只是说找不到课程:
这里使用ILSpy是CurrentContext的主要代码片段
result = (((ScriptContext)CallContext.GetData("PhpNet:ScriptContext")) ?? ScriptContext.CreateDefaultScriptContext());
这是用于查找php类(AFAIK)的代码行。
答案 0 :(得分:1)
您必须先将PHP文件包含在PHP上下文中... 在Web App中,要正确“模拟”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
}