Можно ли использовать модульную структуру Zend без включения application.php (который загружает слишком много лишних ресурсов)?

Я ищу решение, как избавиться от включения «application.php», и в то же время я хочу иметь возможность использовать модульную структуру в Zend Framework. ПРИЛОЖЕНИЕ загружает слишком много лишнего и лишнего (если Zend Framework используется не на 100%). Работая с высоконагруженным проектом, я обнаружил, что полезно отключить Zend Autoloader и включить собственный файл "ZendLight_small.php" (куда я поместил все недостающие классы/функции, которые требуются Zend Framework) для увеличения количества возможных успешных звонки. (с Zend Autoloader — 40 вызовов в секунду (по JMeter), с ZendLight_small.php — 60 cps.)

...
Я также хочу избавиться от следующей вещи (мне также не нужна структура начальной загрузки):

$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();

...
Значит, это как-то возможно? Мне просто не нужно использовать так много функций Zend, но общая сумма включенных файлов (с приложением Zend) - это беспорядок. Заранее спасибо.


person WesternTune    schedule 06.05.2011    source источник
comment
Zend_Application, по сути, запускает цикл диспетчеризации. Все компоненты Zend Framework можно использовать автономно. Я предполагаю, что вопрос в том, какую функциональность вы хотите, чтобы Zend Framework выполнял?   -  person H Hatfield    schedule 09.05.2011


Ответы (2)


Я использую компоненты Zend уже почти 6 месяцев, но никогда не использовал Zend_Application.

Я думаю, основная причина в том, что я в основном разрабатываю консольные скрипты и использую компоненты в качестве помощников. Классы Zend_ являются частью приложений, а не приложения. Я начинаю с минимального загрузочного файла, который определяет константы скрипта. Затем я инициализирую Zend_Autoload и с этого момента получаю доступ ко всему, что захочу в Zend. Последний шаг инициализации, но не менее важный: у меня есть файл настроек, который представляет собой простой массив, возвращенный и загруженный в Zend_Config.

Эти 3-4 строки очень легкого кода сделали мою жизнь намного лучше, вы не поверите. В основном я полагаюсь на Zend_logger, Zend_DB и его друзей Zend_Table, Zend_TableRowset и т. д. и Zend_Mail. Загружается только при необходимости.

Хотя я использую только очень маленькое подмножество фреймворка, это значительно сократило время разработки и самое главное: результат намного проще поддерживать.

person stefgosselin    schedule 22.05.2011

Вы можете использовать «старый» (до 1.8) метод начальной загрузки. Нет необходимости в Zend_Application. Мы используем это с ZF 1.11 без проблем.

person Tomáš Fejfar    schedule 24.05.2011