Мне нужно использовать ZendAMF в проекте Symfony, и в настоящее время я работаю над их интеграцией.
У меня есть приложение внешнего интерфейса с двумя модулями, одним из которых является «шлюз» - шлюз AMF. В моей конфигурации приложения внешнего интерфейса в функции настройки указано следующее:
// load symfony autoloading first
parent::initialize();
// Integrate Zend Framework
require_once('[MY PATH TO ZEND]\Loader.php');
spl_autoload_register(array('Zend_Loader', 'autoload'));
Функция executeIndex для моего шлюза actions.class.php выглядит следующим образом
// No Layout
$this->setLayout(false);
// Set MIME Type
$this->getResponse()->setContentType('application/x-amf; charset='.sfConfig::get('sf_charset'));
// Disable cause this is a non-html page
sfConfig::set('sf_web_debug', false);
// Create AMF Server
$server = new Zend_Amf_Server();
$server->setClass('MYCLASS');
echo $server->handle();
return sfView::NONE;
Теперь, когда я пытаюсь посетить URL для модуля шлюза или даже другого модуля, который до этой попытки работал прекрасно, я вижу только пустой экран, даже с загруженной панелью разработчиков Symfony. Как ни странно, мои журналы Symfony также не обновляются, что говорит о том, что Synfony даже не «достигнут».
Итак, предположительно, ошибка связана с Zend, но я понятия не имею, как выяснить, что это может быть за ошибка. Я точно знаю, что это не ошибка пути к файлу, потому что, если я изменю путь в следующей строке (часть frontendConfiguration, как показано выше), я получу ошибку Zend_Amf_Server not found. Так что путь должен быть правильным. Также, если я закомментирую эту самую строку, второй модуль вернется в нормальное состояние, и мой шлюз транслирует пустой поток x-amf.
spl_autoload_register(array('Zend_Loader', 'autoload'));
У кого-нибудь есть какие-нибудь советы о том, как я могу решить эту проблему?
Спасибо
Постскриптум В настоящее время я использую старую версию Zend, поэтому я использую Zend_Loader вместо Zend_autoLoader (я думаю). Но я попытался перейти на новую библиотеку, но ошибка все еще остается. Так что это не проблема версии.