この記事では、C# で開発された DLL クラス ライブラリを呼び出す PHP の方法を主に紹介します。これには、完全かつ詳細な DLL 作成手順と PHP 呼び出し方法が含まれます。必要な方は参照してください
場合によっては、PHP を使用する必要があります。 C# で記述された DLL など、他の言語で記述された DLL クラス ライブラリを使用するには、PHP の新しい COM メソッドを使用して呼び出す必要があります。呼び出す前に、DLL ライブラリを登録し、アセンブリをグローバル キャッシュに入れる必要があります。
1. C# クラス ライブラリを作成し、HelloWorld という名前を付けます。
2. プロジェクトのプロパティを開き、左側 (最初のタブ) で [アセンブリ情報] ボタンをクリックします。ダイアログの下部にチェックマークを付ける必要があります: アセンブリを COM 可視にする! そうしないと、この DLL は COM モードでアクセスできなくなります (コードのクラス宣言に [ComVisible(true)] を記述することもできます。同様に、System.Runtime.InteropServices を使用して追加する必要があります。参考)
3. 強力な名前付き署名ファイルを作成し、
vs.net の「Vsitual Studio .Net ツール」を使用します。コマンド プロンプトで sn -k d: HelloWorld.snk と入力し、Enter キーを押して厳密な名前の署名ファイルを作成します
プロジェクトのプロパティを開き、左側の [署名] をクリックして、[厳密な名前のキーを選択] で [参照] を選択します。 file: 作成した HelloWorld.snk ファイルを選択します
4. クラス ライブラリを作成して dll にコンパイルします
コードをコピーします コードは次のとおりです:
namespace HelloWorld
{
//[ComVisible(true)] //または Application -Assembly_Information ダイアログで「Assembly COM-Visible」をチェックします ;
public class Hello
{
public string Write()
Return "Hello World" }
}
}
コードは次のとおりです。以下のように: regasm HelloWorld.dll
この時点で、この .dll の .net アセンブリは標準 Com コンポーネントになりますが、まだ使用することはできません。
グローバル Com コンポーネントに変換する必要があります。アセンブリをグローバル アセンブリ キャッシュに追加します。 プロンプト ウィンドウに入り、次のように入力します。
gacutil /I HelloWorld.dll
コードをコピーします
コードは次のとおりです:
$r=new Com("HelloWorld.Hello");
$s=$r-> Write(); echo $s; ?>
コマンドプロンプト:
コードをコピーします
コードは次のとおりです:
原文転載元: http://www.jb51.net/article/52846.htm
上記は、C# で開発された DLL クラス ライブラリを PHP で呼び出す方法を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。