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 に答える