.net アプリケーションで使用しようとしている 3 つの php クラスがあります。Phalanger を使用してこれら 3 つのクラスを取得し、次のコマンドを使用して .dll ファイルを作成しました。
phpc /target:dll Client.php Crypt.php Exception.php
もちろん、Client.dllとClient.pdbファイルを出力しました。
そこから VS2012 に移動し、新しい asp.net アプリケーションを作成し、Client.dll を参照として追加しました。ただし、どのクラスのパブリック メソッドも表示されず、オブジェクト ブラウザ ウィンドウに次のように表示されます。
Client>Client>Base Types>Object (オブジェクト型のメソッドのみを持つように)
カスタムインターフェイスをオブジェクトにキャストすることを含むこのメソッド/チュートリアルを試してみましたが、エラーが発生しました:
タイプまたは名前空間の名前 ScriptContext が見つかりませんでした
これはもちろん、何がどこで ScriptContext なのかがわからないことを意味します。ただし、このチュートリアルは2007年のものなので、時代遅れなのか、それともそのクラスをどこから入手すればよいのかわかりません。
私が見つけた他のチュートリアルも同じくらい古いものです。それは言います:
既存の PHP ソース (標準インタープリター用に開発されたもの) を変更せずに使用する場合は、レガシー モードを使用する必要がありますが、新しい PHP プロジェクトを開発する場合は、ピュア モードの使用を検討できます。
しかし、ドキュメント内にレガシーモードの手順が見つからず、「純粋な」モードを試すよりもそれを好むでしょう(既存のphpコードを変更/編集する必要がないように)。(ピュアモード)試してみましたが、上記のコマンド(DynamicObject.phpクラスをコマンドに追加)でコンパイル(phalangerコンパイル)しませんでした。
PHP クラス内のパブリック メソッドにアクセスするにはどうすればよいですか?