溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在PHP項目中調(diào)用COM組件

發(fā)布時間:2021-03-09 16:56:04 來源:億速云 閱讀:529 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了如何在PHP項目中調(diào)用COM組件,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

一、用VC創(chuàng)建COM組件

1、vc新建項目 -> ATL項目,輸入名稱ComTest,ComTest將作為COM組件的名稱。

如何在PHP項目中調(diào)用COM組件

2、到了ATL項目向?qū)В恍枰膭?,完成向?qū)?。向?qū)瓿珊?,vc將會自動生成一系列的程序。

如何在PHP項目中調(diào)用COM組件

3、切換到類視圖,在ComTest項右鍵,添加類,選擇ATL簡單對象,

如何在PHP項目中調(diào)用COM組件

4、來到ATL簡單對象向?qū)?,輸入你要新建的類?MyClass,完成向?qū)?。(注意了,還要填寫ProgID,有些vs會自動補全)

如何在PHP項目中調(diào)用COM組件

5、回到類視圖中,在IMyClass右鍵,添加方法,將會進入添加方法的向?qū)А?/p>

如何在PHP項目中調(diào)用COM組件

6、來到添加方法向?qū)?,我們想實現(xiàn)計算2個數(shù)相加的功能,如下,參數(shù)a和b都是[in] Long,c為COM返回參數(shù),為[out, retval] Long*,是一個指針。完成向?qū)А?/p>

如何在PHP項目中調(diào)用COM組件

7、在MyClass.cpp找到我們剛剛添加的方法,add(LONG a, LONG b, LONG* c),修改如下:

復(fù)制代碼 代碼如下:

STDMETHODIMP CMyClass::add(LONG a, LONG b, LONG* c) 

    *c = a + b; 
    return S_OK; 
}


8、編譯后,在生成目錄找到ComTest.dll,注冊到系統(tǒng)

復(fù)制代碼 代碼如下:

regsvr32 ComTest.dll

二、PHP調(diào)用COM組件

復(fù)制代碼 代碼如下:

<?php 

$com = new COM("ComTest.MyClass") or die("無法調(diào)用ComTest"); 
echo $com->add(1, 2); 


正常情況下,到這里就完成了。

但默認情況下,PHP調(diào)用COM組件的功能是沒有打開的。PHP執(zhí)行以上代碼就會報 Fatal error: Class 'COM' not found 錯誤。修改PHP配置,如下:

復(fù)制代碼 代碼如下:


extension=php_com_dotnet.dll 

上述內(nèi)容就是如何在PHP項目中調(diào)用COM組件,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI