Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

суббота, 6 февраля 2010 г.

Создание проекта Zend Framework. Использование инструмента командной строки (начало).

Для начала нужно скачать и распаковать сам фреймворк.

Фреймворк содержит каталог 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
|-- 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
Каталог library/ нашего проекта должен содержать классы Zend Framework (то есть каталог library/Zend дистрибутива). Тут есть два пути:

1. Символическая ссылка.
2. Копирование файлов из дистрибутива.

Для unix:
# Symlink:
% cd library; ln -s path/to/ZendFramework/library/Zend

# Copy:
% cd library; cp -r path/to/ZendFramework/library/Zend
В Windows скорее всего удобнее скопировать файлы, используя explorer. Таким образом просто копируем library/Zend в каталог library/ нашего проекта.

Теперь, когда проект создан, нужно разобраться с начальной загрузкой (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
}
}

Комментариев нет:

Отправить комментарий