首页 文章

Symfony COM类

提问于
浏览
1

我正在尝试在symfony3中使用COM(组件对象模型,http://php.net/manual/en/intro.com.php)类 .

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” . 您是否忘记了另一个命名空间的“use”语句?

要么

尝试从全局命名空间加载类“COM” . 你忘记了“使用”声明吗?

我在php.ini中启用了php_com_dotnet.dll

如何让它工作?

1 回答

  • 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"

相关问题