2016-12-14 38 views
1

我想在symfony3中使用COM(組件對象模型,http://php.net/manual/en/intro.com.php)類。Symfony COM類

namespace AppBundle\Lib; 
class Sfera 
{ 
    /** 
    * Sfera constructor. 
    */ 
    public function __construct() 
    { 
     $gt = new COM("Insert.gt") or die("Cannot create an InsERT GT object"); 
//  $gt = new \COM("Insert.gt") or die("Cannot create an InsERT GT object"); 

    } 
} 

但我無法在symfony中找到COM類。

試圖從命名空間「AppBundle \ Lib」加載類「COM」。 是否忘記了另一個命名空間的「使用」語句?

,試圖從全局命名空間加載類 「COM」。 忘記了「使用」聲明嗎?

我能在php.ini

php_com_dotnet.dll如何得到它的工作?

+0

我的壞,現在工作。擴展程序php_com_dotnet.dll文件已損壞。 – hamzo

回答

0

當你在你的類中使用命名空間時,所有的root類都需要在名稱前有\。這將工作:

namespace AppBundle\Lib; 

class Sfera 
{ 
    /** 
    * Sfera constructor. 
    */ 
    public function __construct() 
    { 
     $gt = new \COM("Insert.gt") or die("Cannot create an InsERT GT object"); 

    } 
} 

更多關於在PHP命名空間是在這裏:http://php.net/manual/en/language.namespaces.basics.php

還要確保擴展啓用 - 檢查它是否在phpinfo();輸出是可見的。也許你忘了設置enable_dl = On或取消註釋extension_dir = "ext"