Symfony 2: обрабатывать COM-объект - PullRequest
1 голос
/ 22 ноября 2011

Я хотел бы использовать COM-объект в моем контроллере Symfony 2. COM должен быть частью PHP 5, поэтому я предположил, что проблем не будет.

Вот мой код:

$ObjectFactory = new COM("CrystalReports11.ObjectFactory.1");

И Symfony возвращает мне эту ошибку:

Class 'App\InterfaceBundle\Controller\COM' not found

Я на Windows 7, использую PHP 5.3. При отображении phpinfo я вижу, что включена поддержка COM-объектов.

Что я делаю не так? Есть ли в контроллере включение PHP, чтобы оно работало?

1 Ответ

6 голосов
/ 22 ноября 2011

Вы работаете в пространстве имен с именем App\InterfaceBundle\Controller, поэтому PHP ищет класс COM в этом пространстве имен.

Если изменить код на следующий, PHP будет явно загружать класс из «глобального пространства», а не из текущего пространства имен:

$ObjectFactory = new \COM("CrystalReports11.ObjectFactory.1");

Подробнее о пространствах имен можно прочитать в руководстве по PHP: http://www.php.net/manual/en/language.namespaces.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...