Фреймворк содержит каталог bin/, в котором находятся скрипты zf.sh и zf.bat для UNIX- и Windows-систем соответственно.
Откройте терминал (в Windows, Start -> Run, а затем использовать cmd). Перейдите в каталог, где вы хотели бы создать проект. Затем, используя пути к соответствующему сценарию, и выполните одно из следующих действий (при запуске скрипта нужно указать абсолютный путь к файлу сценария, например с:\ZendFramework\bin\zf.bat):
# Unix:Запуск этой команды создаст основную структуру сайта, включая контроллеры и представления. Дерево должно выглядеть следующим образом:
% zf.sh create project quickstart
# DOS/Windows:
C:> zf.bat create project quickstart
quickstartКаталог library/ нашего проекта должен содержать классы Zend Framework (то есть каталог library/Zend дистрибутива). Тут есть два пути:
|-- application
| |-- Bootstrap.php
| |-- configs
| | `-- application.ini
| |-- controllers
| | |-- ErrorController.php
| | `-- IndexController.php
| |-- models
| `-- views
| |-- helpers
| `-- scripts
| |-- error
| | `-- error.phtml
| `-- index
| `-- index.phtml
|-- library
|-- public
| `-- index.php
`-- tests
|-- application
| `-- bootstrap.php
|-- library
| `-- bootstrap.php
`-- phpunit.xml
1. Символическая ссылка.
2. Копирование файлов из дистрибутива.
Для unix:
# Symlink:В Windows скорее всего удобнее скопировать файлы, используя explorer. Таким образом просто копируем library/Zend в каталог library/ нашего проекта.
% cd library; ln -s path/to/ZendFramework/library/Zend
# Copy:
% cd library; cp -r path/to/ZendFramework/library/Zend
Теперь, когда проект создан, нужно разобраться с начальной загрузкой (bootstrap), настройками (configurations), контроллерами (controllers) и представлениями (views).
Наш класс Bootstrap определяет какие ресурсы и компоненты будут инициализорованы при запуске приложения. По умолчанию исполняется Front Controller, он использует каталог application/controllers/ для поиска контроллеров действий (actions), но об этом пожзе ... Класс Bootstrap выглядит примерно так:
// application/Bootstrap.phpКак видите тут пока ничего особенного нет.
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
}
Настройки приложения.
Хотя Zend Framework является по сути неконфигурируемым, часто требуется настройка самого вашего приложения. Конфигурационный файл по умолчанию находится в application/configs/application.ini, помимо прочего он содержит некоторые основные директивы по настройке окружения PHP (например, управление режимом вывода отчетов об ошибках), указавает путь к Bootstrap-классу (а также его имя) и путь к контроллерам действий. Она выглядит следующим образом:
; application/configs/application.ini
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
Стоит отметить несколько моментов относительно этого файла. Во-первых, благодаря тому что формат этого файла ini, вы можете непостредственно ссылаться на константы и расширять их (например APPLICATION_PATH). Также определены несколько разделов: производство, установка, тестирование и разработка. Это удобно при дифференциации настроек на разных этапах создания приложения.
Контроллеры.
Контроллеры - это классы, которые обеспечивают сопоставление запросов пользователей с классами-моделями и представлениями (проще говоря обрабатывают запросы пользователей).
Класс-контроллер должен содержать один или несколько методов, имена которых заканчиваются на Action. По умолчанию url в Zend Framework следуют схеме: /controller/action, где controller - это имя контроллера без суффикса Controller, а action - это имя метода-действия без суффикса Action.
Как правило вам нужные минимум два контроллера: IndexController, ответсвенный за отображение домашней страницы, и ErrorController - для отображения всевозможных ошибок, например HTTP 404 или HTTP 500. Пример:
// application/controllers/IndexController.php
class IndexController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
// action body
}
}
Комментариев нет:
Отправить комментарий