Я хочу сделать небольшое приложение Zend, которое будет работать параллельно с нашей установкой Magento (Enterprise). Могу ли я использовать существующий код Zend, включенный в Magento? Или мне нужна еще одна отдельная копия Zend?
Боюсь, что Varien, вероятно, испортил код фреймворка. Просто глядя, кажется, они закомментировали все операторы require (), что вызывает много ошибок (очевидно). В любом случае Zend AutoLoader не будет работать. Есть ли способ использовать Varien AutoLoader вместо этого?
Я не особо хочу импортировать другую инфраструктуру (более 3000 файлов) в наш проект, если я могу избежать этого.
Спасибо!
EDIT:
Вот моя структура каталогов:
/localsite/ -- root
/localsite/products -- Magento install
/localsite/products/lib/Zend --Zend in Mage folder
/localsite/fbtest -- my Zend Framework app root
/localsite/fbtest/application -- my Zend Framework app
Вот код, который я пытаюсь (/localsite/fbtest/public/index.php):
<?php
define('DS', DIRECTORY_SEPARATOR);
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
set_include_path(implode(PATH_SEPARATOR, array(
BASE_PATH . DS . 'products' . DS . 'lib' . DS . 'Zend',
get_include_path(),
)));
require_once('../../products/lib/Zend/Application.php');
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();
Вот ошибка:
Fatal error: Class 'Zend_Loader_Autoloader' not found in C:\xampp\htdocs\localsite\products\lib\Zend\Application.php on line 81
Вот include_path:
C:\xampp\htdocs\localsite\products\lib\Zend;.;C:\php\pear
И вот где должен быть включен AutoLoader (в /products/lib/Zend/Application.php):
#require_once 'Zend/Loader/Autoloader.php';
$this->_autoloader = Zend_Loader_Autoloader::getInstance();
^^^ видите, что '#', где закомментирован require_once? Я думаю, что это изменение, внесенное Varien, которое нарушает Framework, нет? Похоже, почему это не работает у меня, по крайней мере? Как я могу обойти это и включить все закомментированные включает в себя ??
Еще раз спасибо