1.2 Zend Framework — Быстрый старт. Создание проекта |
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translation complete.
Перед созданием проекта вы должны загрузить и распаковать Zend Framework.
Установка Zend Framework
Простейший путь получить Zend Framework вместе с настроенным PHP — это установить » Zend Server. Zend Server имеет инсталлятор для Mac OSX, Windows, Fedora Core и Ubuntu, а также универсальный установочный пакет совместимый с большинством дистрибутивов Linux.
После установки Zend Server файлы фреймворка можно найти в папке /usr/local/zend/share/ZendFramework на Mac OSX и Linux, и в C:\Program Files\Zend\ZendServer\share\ZendFramework — на Windows. Переменная include_path уже будет сконфигурирована для включения Zend Framework.
Вы также можете загрузить последнюю версию Zend Framework и распаковать содержимое; обратите внимание на адрес папки назначения.
По желанию, вы можете добавить путь к подкаталогу library/ архива в вашу переменную include_path в php.ini.
Вот и все! Zend Framework установлен и готов к использованию.
Создание проекта
Замечание: zf Command Line Tool
В установленном Zend Framework есть подкаталог bin/, содержащий скрипты zf.sh и zf.bat для Unix- и Windows-систем, соответственно. Запомните полный путь к этому скрипту.
Везде, где встретите ссылку на команду zf, замените полный путь к скрипту. На Unix-подобных системах вы можете использовать alias подобно: alias zf.sh=path/to/ZendFramework/bin/zf.sh.
Если у вас возникнут проблемы с настройкой zf command-line tool, обратитесь к руководству пользователя.
Откройте терминал (в Windows: Пуск -> Выполнить, введите cmd). Перейдите в каталог, где вы будете создавать проект. Используя путь к соответствующему скрипту, выполните следующее:
01. % zf create project quickstart
В результате выполнения этой команды будет создана простейшая структура сайта, включающая исходные контроллеры (controllers) и виды (views). Дерево каталогов будет выглядеть следующим образом:
01. quickstart
02. |-- application
03. | |-- Bootstrap.php
04. | |-- configs
05. | | `-- application.ini
06. | |-- controllers
07. | | |-- ErrorController.php
08. | | `-- IndexController.php
09. | |-- models
10. | `-- views
11. | |-- helpers
12. | `-- scripts
13. | |-- error
14. | | `-- error.phtml
15. | `-- index
16. | `-- index.phtml
17. |-- library
18. |-- public
19. | |-- .htaccess
20. | `-- index.php
21. `-- tests
22. |-- application
23. | `-- bootstrap.php
24. |-- library
25. | `-- bootstrap.php
26. `-- phpunit.xml
Если вы еще не добавили путь к файлам Zend Framework в include_path, рекомендуем либо скопировать их в каталог library/, либо создать символьную ссылку на нее. В любом случае, либо рекурсивно скопируйте каталог library/Zend/ установленного Zend Framework в каталог library/ вашего проекта, либо создайте символьную ссылку. На Unix-подобных системах это можно сделать следующим образом:
01. # Symlink:
02. % cd library; ln -s path/to/ZendFramework/library/Zend .
03.
04. # Copy:
05. % cd library; cp -r path/to/ZendFramework/library/Zend .
На Windows-системах это проще сделать с помощью "Проводника" (Explorer).
Теперь, когда проект создан, главное - разобраться с предзагрузчиком (bootstrap), конфигурацией (configuration), контроллерами действий (action controllers) и видами (views).
Предзагрузчик (bootstrap)
Ваш класс предзагрузчика (bootstrap class) определяет, какие ресурсы и компоненты будут инициализированы. По умолчанию, Zend Framework инициализирует Front Controller и использует application/controllers/ как каталог, в котором хранятся контроллеры действий (более подробно об этом позже). Класс выглядит следующим образом:
01. // application/Bootstrap.php
02.
03. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
04. {
05. }
Как видите, для начала нужно совсем немного.
Конфигурация
Поскольку Zend Framework сам по себе не сконфигурирован, вам часто придется самому конфигурировать ваше приложение. По умолчанию, конфигурация прописывается в файле application/configs/application.ini и содержит некоторые основные директивы для настройки PHP-окружения (например, включение и отключение отчетов об ошибках), где указывается и путь к классу предзагрузчика (а также его имя) и путь к контроллерам действий. Выглядит это следующим образом:
01. ; application/configs/application.ini
02.
03. [production]
04. phpSettings.display_startup_errors = 0
05. phpSettings.display_errors = 0
06. includePaths.library = APPLICATION_PATH "/../library"
07. bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
08. bootstrap.class = "Bootstrap"
09. appnamespace = "Application"
10. resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
11. resources.frontController.params.displayExceptions = 0
12.
13. [staging : production]
14.
15. [testing : production]
16. phpSettings.display_startup_errors = 1
17. phpSettings.display_errors = 1
18.
19. [development : production]
20. phpSettings.display_startup_errors = 1
21. phpSettings.display_errors = 1
Приведем некоторые сведения о файле конфигурации, которые нужно знать. Во-первых, когда используется конфигурация в стиле "INI", вы можете напрямую ссылаться на константы и добавлять их; APPLICATION_PATH фактически является константой. Кроме того, обратите внимание, что определено несколько секций: production, staging, testing и development. Последние три наследуют настройки секции "production". Этот путь организации конфигурации гарантирует, что соответствующие настройки доступны на каждом этапе разработки приложения.
Контроллеры действий
Контроллеры действий (action controllers) являются основной частью вашего приложения и обрабатывают запросы, используя соответствующие модели (models) и виды (views).
Контроллер действия содержит один или несколько методов, название которых оканчивается на «Action»; эти методы могут быть запрошены через сеть. По умолчанию, ссылки URL в Zend Framework строятся по следующей схеме /controller/action, где «controller» — это имя контроллера действия (минус суффикс «Controller»), а «action» — это имя метода действия (минус суффикс «Action»).
Обычно необходимы следующие контроллеры: IndexController, который является контроллером по умолчанию, а также служит домашней страницей сайта, и ErrorController, который используется для отображения таких объектов, как ошибки HTTP 404 (когда контроллер или действие не найдены) и HTTP 500 (ошибки приложения).
По умолчанию, IndexController выглядит следующим образом:
01. // application/controllers/IndexController.php
02.
03. class IndexController extends Zend_Controller_Action
04. {
05.
06. public function init()
07. {
08. /* Здесь инициализация контроллера действий */
09. }
10.
11. public function indexAction()
12. {
13. // action body
14. }
