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

PHP は、C# によって開発された DLL クラス ライブラリ メソッドを呼び出します。

WBOY
WBOYオリジナル
2016-07-29 09:09:081230ブラウズ

この記事では、C# で開発された DLL クラス ライブラリを呼び出す PHP の方法を主に紹介します。これには、完全かつ詳細な DLL 作成手順と PHP 呼び出し方法が含まれます。必要な方は参照してください

場合によっては、PHP を使用する必要があります。 C# で記述された DLL など、他の言語で記述された DLL クラス ライブラリを使用するには、PHP の新しい COM メソッドを使用して呼び出す必要があります。呼び出す前に、DLL ライブラリを登録し、アセンブリをグローバル キャッシュに入れる必要があります。

1. C# クラス ライブラリを作成し、HelloWorld という名前を付けます。
2. プロジェクトのプロパティを開き、左側 (最初のタブ) で [アセンブリ情報] ボタンをクリックします。ダイアログの下部にチェックマークを付ける必要があります: アセンブリを COM 可視にする! そうしないと、この DLL は COM モードでアクセスできなくなります (コードのクラス宣言に [ComVisible(true)] を記述することもできます。同様に、System.Runtime.InteropServices を使用して追加する必要があります。参考)

PHP は、C# によって開発された DLL クラス ライブラリ メソッドを呼び出します。

3. 強力な名前付き署名ファイルを作成し、
vs.net の「Vsitual Studio .Net ツール」を使用します。コマンド プロンプトで sn -k d: HelloWorld.snk と入力し、Enter キーを押して厳密な名前の署名ファイルを作成します
プロジェクトのプロパティを開き、左側の [署名] をクリックして、[厳密な名前のキーを選択] で [参照] を選択します。 file: 作成した HelloWorld.snk ファイルを選択します

PHP は、C# によって開発された DLL クラス ライブラリ メソッドを呼び出します。

4. クラス ライブラリを作成して dll にコンパイルします

コードをコピーします コードは次のとおりです:

namespace HelloWorld
{
//[ComVisible(true)] //または Application -Assembly_Information ダイアログで「Assembly COM-Visible」をチェックします ;
public class Hello
{
public string Write()
Return "Hello World" }
}
}

5. dll フォルダーのパスを見つけて、vs.net の「Vsitual Studio .Net Tools」->Visual Studio .Net コマンド プロンプトを使用します
dll フォルダーに入り、次のように入力します:


コードをコピーします

コードは次のとおりです。以下のように: regasm HelloWorld.dll

この時点で、この .dll の .net アセンブリは標準 Com コンポーネントになりますが、まだ使用することはできません。

グローバル Com コンポーネントに変換する必要があります。アセンブリをグローバル アセンブリ キャッシュに追加します。

プロンプト ウィンドウに入り、次のように入力します。


コードをコピーします。 コードは次のとおりです。

gacutil /I HelloWorld.dll この時点で、DLL はつまり、この dll コンポーネントは、このコンピューターのどのハードディスク上でも使用できます。 厳密な名前付けの署名が実行されない場合、この手順では読み込みエラーが発生します。


PHP テスト:

PHP は、C# によって開発された DLL クラス ライブラリ メソッドを呼び出します。 コードをコピーします

コードは次のとおりです:


$r=new Com("HelloWorld.Hello");

$s=$r-> Write(); echo $s; ?>

コマンドプロンプト:


コードをコピーします
コードは次のとおりです:


CD [/D] [ドライブ:][パス] #指定されたパスを入力します
CD [..] #Return Parent directory

原文転載元: http://www.jb51.net/article/52846.htm

上記は、C# で開発された DLL クラス ライブラリを PHP で呼び出す方法を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。