Создание проекта Zend Лекция 2 1.Создание нового проекта 2.Анализ нового проекта 3.Создание макетов
1. Создание нового проекта cd C:\Webservers\home zf.bat create project newproject В корне проекта находятся следующие файлы /application/Bootstrap.php – файл загрузки проекта /application/configs/application.ini – конфигурационный файл используется файлом загрузки и Zend_Application /public/index.php – создает экземпляр класса Zend_Application и запускает приложение
2. Основные понятия Класс Bootstraper определяет, какие ресурсы и компоненты будут инициализированы в проекте. По умолчанию инициализирован Front Controller, который использует каталог /application/controllers/ как директорию по умолчанию для поиска контроллеров действий. Данный класс выглядит примерно следующим образом
Макет класса Bootstrap Название класса Базовый (наследуемый класс) Ключевое слово, означающее что класс может расширяться Ключевое слово class
Configuration (Конфигурация). Основной файл конфигурации по умолчанию хранится в файле: application/configs/application.ini и содержит основные директивы настройки вашей PHP среды (например включение и отключение отчета об ошибках). Помимо этого в данном файле указан путь к классу начальной загрузки (Bootstrap), и путь к контроллерам действий (Action Controllers). При использовании ini конфигурационного файла вы можете использовать константы.
Конфигурационный файл Комментарии Название секции Переменные и их значения Переменные РНР Секции, наследующие секцию production
Контроллеры действий являются основной частью приложения и отвечают за обработку запросов, выбор данных из моделей (models) и передачу их в представления (views). Контроллер действия должен иметь один или несколько методов заканчивающихся словом «Action», эти методы будут запускаться при запросе какой либо страницы приложения. По умолчанию URL в Zend Framework следуют следующей схеме: "/controller/action" где controller текущий контроллер, а action текущее действие. Например: mysite/simple/test. Здесь Контроллер simple а дейтсвие test. Обычно приложение Zend Framework должно иметь два контроллера действия это IndexController контроллер который является контроллером по умолчнаию или домашней страницей вашего сайта и ErrorController предназначеный для обработки ошибок таких как HTTP 404 (Страница не найдена) или HTTP 500 (Ошибка приложения).
IndexController
ErrorController
Сценарии вида (views) в Zend Framework по умолчанию используют простой php синтаксис. Сценарии вида находятся в каталоге application/views/scripts/, где они распределены по каталогам в зависимости от контроллера действия. В стандартном проекте существуют контроллеры IndexController и ErrorController, соответственно сценарии вида для них находятся в подкаталогах index/ и error/ В данных подкаталогах содержатся файлы типа *.phtml, которые являются сценариями вида для действий. Так по умолчанию мы имеем сценарии вида: index/index.phtml и error/error.phtml. Для Index контроллера и Error Контроллера соответственно. Сценарии вида могут содержать какой угодно текст. Кроме того вы можете использовать php теги для вставки в них PHP директив.
Сценарий вида для действия index контроллера indexController
Zend_Layout использует идеи шаблонов проектирования и при помощи данного средства, вместо того чтобы включать в каждый сценарий вида весь HTML код сайта, мы можем разбить его на «глобальный шаблон» или же макет, и сценарии вида которые занимаются выводом лишь информации из Action контроллеров. Для начала работы с Zend_Layout, сначала мы должны настроить наш загрузчик (bootsarter) на работу с макетами (layout). Это может быть сделано с помощью CLI приложения Zend_Tool, а именно коммадны zf enable layout. Прежде чем исполнять данную команду необходимо перейти в каталог где находится проект. 3. Создание макета (Layout)
Для использования в приложениее XHTML DocType необходимо добавить ресурс в загрузчик (bootstraper). Простейший путь добавить пользовательский ресурс в загрузчик просто создавать защищенный метод, начинающийся фразой _init внутри класса загрузчика. (Например, для инициализации doctype, можно создать _initDoctype метод.
В конфигурационный файл необходимо добавить массив, в котором будут хранится ресурсы вида, загружаемые Bootstrapом Изменить метод _initDoctype(). Загрузить ресурс View. После чего извлечь объект вида (view), и установить для него необходимый DocType.
Изменить файл layout.phtml