PHP は、C# で開発された DLL クラス ライブラリ メソッドを呼び出します、
C# で書かれた DLL など、PHP で他の言語で書かれた DLL ライブラリを使用する必要がある場合があります。その方法は、PHP の新しい COM メソッドを使用して呼び出す前に、まず DLL ライブラリを登録する必要があります。アセンブリをグローバル キャッシュに保存します。
1. C# クラス ライブラリを作成し、HelloWorld という名前を付けます
2. プロジェクトのプロパティを開きます、左側 (最初のタブ) の [アプリケーション] をクリックし、ポップアップ ダイアログの下部にある [アセンブリを COM にする] をオンにする必要があります。それ以外の場合、この DLL は COM モードでアクセスできません (コード内のクラス宣言に [ComVisible(true)] を記述することもできます。効果は同じですが、System.Runtime.InteropServices; を使用して追加する必要があります。参考)
3. 強力な名前付き署名ファイルを作成して使用します
vs.net の「Vsitual Studio .Net ツール」を使用します -->Visual Studio .Net コマンド プロンプトで sn -k d:HelloWorld.snk と入力し、Enter キーを押して、強力な名前付き署名ファイルを作成します
プロジェクトのプロパティを開き、左側の [署名] をクリックして、[厳密な名前のキー ファイルを選択] で [参照] を選択し、作成した HelloWorld.snk ファイルを選択します
4. クラスライブラリを作成し、DLL にコンパイルします
コードをコピーします コードは次のとおりです:
namespace HelloWorld
{
//[ComVisible(true)] //または Application-Assembly_Information ダイアログで「Assembly COM-Visible」をチェックします
;
公開授業 こんにちは
{
パブリック文字列 Write()
「Hello World」を返します
}
5. dll フォルダーのパスを見つけて
、vs.net の「Vsitual Studio .Net ツール」->Visual Studio .Net コマンド プロンプトを使用します
dll フォルダーに入り、次のように入力します:
コードをコピーします
コードは次のとおりです:regasm HelloWorld.dll
現時点では、この .dll の .net アセンブリは標準 Com コンポーネントになりますが、まだ使用することはできません。グローバル Com コンポーネントに変換する必要があります。
アセンブリをグローバル アセンブリ キャッシュに追加します
プロンプトウィンドウに入り、次のように入力します:
コードをコピーします
コードは次のとおりです:gacutil /I HelloWorld.dll
この時点で、DLL はグローバル アセンブリ キャッシュにコピーされます。つまり、この DLL コンポーネントは、このコンピューター上のどのハード ドライブに関係なく使用できます。
強い名前の署名が実行されていない場合、このステップでは読み込みエラーが発生します
PHP テスト:
コードをコピーします
コードは次のとおりです:
$r=new Com("HelloWorld.Hello");
$s=$r->書き込み();
エコー$s;
?>
コマンドの下:
コードをコピーします
コードは次のとおりです:
CD [/D] [ドライブ:][パス] #指定されたパスを入力します
CD [..] #親ディレクトリに戻ります
phpはCプログラムを呼び出します
ここでは、Linux を例として、PHP でシステム コマンドを実行する方法についていくつか説明します。ただし、これらの関数は DOS と同じです。 php
PHP は 2 行または 3 行のコードで実行できます。C 言語で Web サービスを公開したり、標準の SOAP ファイルを生成したりできると確信していますか? PHP は C 言語で記述されており、相互に呼び出すことができると考えているのは間違いです。それぞれの利点を組み合わせたいのですが、よろしいですか?
http://www.bkjia.com/PHPjc/851338.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/851338.html技術記事 PHP は、C# で開発された DLL クラス ライブラリ メソッドを呼び出します。場合によっては、C# で記述された DLL など、PHP で他の言語で記述された DLL クラス ライブラリを使用する必要があります。その方法は、PHP の新しい COM メソッドを使用することです。