Я собираюсь использовать Zend framework, но просто инструмент Zend, например, перевод, дату и кеш. Могу ли я использовать его как отдельный класс? Мой проект имеет свою структуру, и я не хочу использовать весь Zend fw. Если да, какие файлы следует включать в мой проект? Есть ли документы для использования каждого инструмента Zend fw как автономного?
И помните, чтобы использовать различные компоненты Zend Framework в другом проекте, вам просто нужно иметь библиотеку Zend
где-то на вашем пути include_path
. Копирование всего этого может показаться излишним, чтобы использовать один компонент, но это только дисковое пространство. Наличие этих файлов не влияет на производительность, если они не вызваны. И таким образом вам не нужно потеть зависимости, такие как Zend_Exception
и его различные подклассы, относящиеся к конкретным компонентам.
Так, например, если у вас есть папка myapp/lib
для размещения ваших внешних библиотек, вы просто убедитесь, что ваш путь include содержит эту папку lib
и скопируйте в нее папку Zend
как myapp/lib/Zend
.
Затем для использования компонента, такого как Zend_Translate
, все, что вам нужно сделать, это что-то вроде следующего:
require_once 'Zend/Translate.php'; $options = array( // your options here ); $translate = new Zend_Translate($options);
Имея какой-то механизм автоматической загрузки, вы можете избежать даже вызова require_once
. Настройка автозагрузки также проста, как включение следующего в обычный файл / bootstrap:
require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance();
Тогда любые классы, которые следуют за соглашением об именах PEAR 1-class-1-file, могут быть загружены без явного добавления каких-либо требований / include-операторов.
Если дисковое пространство действительно вызывает беспокойство, и вам действительно не нужна вся библиотека Zend
, тогда вы можете исследовать пакет, например , Packagean Jani Hartikainen .
В качестве ответа я мог бы сказать «Да», конечно.
например, если вы хотите использовать Zend_Translate copy Translate.php и Translate folder в свой каталог библиотеки.
несколько раз внутри класса использовались другие классы. Вам также нужно их скопировать. я нахожу их, читая поднятые ошибки. 😉