Symfony 2:处理COM对象

fri*_*nux 1 com symfony

我想在Symfony 2 Controller中使用COM对象.COM必须是PHP 5的一部分,所以我猜测会没有问题.

这是我的代码:

$ObjectFactory = new COM("CrystalReports11.ObjectFactory.1");
Run Code Online (Sandbox Code Playgroud)

Symfony还给我这个错误:

Class 'App\InterfaceBundle\Controller\COM' not found
Run Code Online (Sandbox Code Playgroud)

我在Windows 7上使用PHP 5.3.显示phpinfo时,我可以看到启用了COM对象支持.

我究竟做错了什么?是否有任何PHP包含在Controller中使其工作?

Jai*_*ean 6

您正在使用名为的命名空间App\InterfaceBundle\Controller,因此PHP正在寻找COM该命名空间中的类.

将代码更改为以下内容将明确告诉PHP从"全局空间"而不是当前命名空间加载类:

$ObjectFactory = new \COM("CrystalReports11.ObjectFactory.1");
Run Code Online (Sandbox Code Playgroud)

您可以在PHP手册中阅读有关命名空间的更多信息:http://www.php.net/manual/en/language.namespaces.php