ホームページ  >  記事  >  バックエンド開発  >  PHP は、C# で開発された DLL クラス ライブラリ メソッドを呼び出します。_PHP チュートリアル

PHP は、C# で開発された DLL クラス ライブラリ メソッドを呼び出します。_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:22:05879ブラウズ

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でC言語プログラムを呼び出すにはどうすればよいですか?


PHP は 2 行または 3 行のコードで実行できます。C 言語で Web サービスを公開したり、標準の SOAP ファイルを生成したりできると確信していますか? PHP は C 言語で記述されており、相互に呼び出すことができると考えているのは間違いです。それぞれの利点を組み合わせたいのですが、よろしいですか?

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/851338.html技術記事 PHP は、C# で開発された DLL クラス ライブラリ メソッドを呼び出します。場合によっては、C# で記述された DLL など、PHP で他の言語で記述された DLL クラス ライブラリを使用する必要があります。その方法は、PHP の新しい COM メソッドを使用することです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。