這篇文章主要介紹了PHP調用C#開發的dll類別庫方法,包含一個完整的詳細的DLL製作步驟和PHP調用方法,需要的朋友可以參考下
有的時候,我們需要在php中利用到其他語言編寫的dll類別庫,如C#編寫的dll,方法就是利用PHP new COM方法來調用,在調用之前先要把dll庫註冊並將程序集放入到全局緩存中。
1. 創建一個C# Class Library ,命名為:HelloWorld
2. 打開項目的屬性,在點選左邊的"Application"(就是第一個tab) , 然後點擊Assembly Information 按鈕,在彈出的Dialog中,必須在底部勾上: Make assembly COM-visible !否則, 這個dll將不能以COM方式訪問.( 也可以在代碼中的類別聲明中寫上[ComVisible(true)] , 效果一樣,需要增加using System. Runtime.InteropServices;引用)
3. 建立強命名簽章檔案並使用
使用vs.net的「Vsitual Studio .Net工具」-->Vistual Studio .Netd:Hello .snk 回車即建立了強命名簽章檔案
開啟專案的屬性,點選左邊Signing 勾上Sign the assembly 在Choose a strong name key file:處選擇
4. 建立類別函式庫並編譯成dll
複製程式碼
程式碼如下:
namespace HelloWorld
{
市dialog ;
public class Hello
{
public string Write()
";
}
}
}
複製程式碼 程式碼如下:
regasm HelloWorld.dll
regasm HelloWorld.dll
regasm HelloWorld.dll
.net組件就變成標準的Com組件了,但是還不能用,必須讓它變成全局Com組件.將程序集添加到全局程序集緩存中
進入提示符窗口,輸入:複製程式碼 程式碼如下:
gacutil /I HelloWorld.dll
這時,你的這個dll就被複製到全局程序集緩存中了.也就是說無論在這個電腦的哪個硬碟上都可以使用此dll元件了.如果不進行強命名簽章,這一步驟會提示載入失敗
PHP測試:
$r=new Com("Hello ); $s; ?>
命令符號下:
複製程式碼
程式碼如下:CD [/D] [drive:][path] #進入指定路徑
CD [..] #返回父目錄 [drive:][path] #進入指定路徑CD [..] #返回父目錄。
原文轉自:http://www.jb51.net/article/52846.htm🎜🎜 🎜 以上就介紹了PHP呼叫C#開發的dll類別函式庫方法,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。 🎜 🎜 🎜