Можно ли использовать модульную структуру Zend, не включая "application.php" (который загружает слишком много избыточных ресурсов)?
Я ищу решение, как избавиться от включения "application.php", и в то же время я хочу иметь возможность использовать модульную структуру в Zend Framework. APPLICATION загружает слишком много ненужных и лишних вещей (если 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) - беспорядок. Заранее спасибо
2 ответа
Вы можете использовать "старый" (до 1.8) метод начальной загрузки. Нет необходимости в Zend_Application. Мы используем это с ZF 1.11 без проблем.
Я использую компоненты Zend в течение почти 6 месяцев, но никогда не использовал Zend_Application.
Я предполагаю, что основная причина в том, что я в основном разрабатываю консольные скрипты и использую компоненты в качестве помощников. Классы Zend_ являются частью приложений, а не приложения. Я начну с минимального файла начальной загрузки, который определяет константы сценария. Затем я инициализирую Zend_Autoload и с тех пор имею доступ ко всему, что я чувствую в Zend. Последний шаг инициализации, но не в последнюю очередь, у меня есть файл настроек, который представляет собой простой массив, возвращенный и загруженный в Zend_Config.
Эти 3-4 строчки очень легкого кода сделали мою жизнь намного лучше, вы не поверите. Я в основном полагаюсь на Zend_logger, Zend_DB и его друзей Zend_Table, Zend_TableRowset и т. Д. И Zend_Mail. Загружается только при необходимости.
Хотя я использую только очень маленькое подмножество фреймворка, это значительно сократило мое время на разработку и самое главное: результат легче поддерживать.