CAT | Zend Framework
22
Кастомный элемент формы или Plugin by name xxx was not found in the registry
No comments · Posted by admin in Zend Framework
Когда-то давно я столкнулся с проблемой подключение tinyMCE редактора в качестве элемента формы. Я нашел в интернете руководство по интеграции этого замечательного редактора в Zend Framework.
С хелперами все работало замечательно, т.е. внутри шаблона можно было просто писать
$this->tinyMCE()->render();
и появлялся редактор
Однако, я привык к тому, чтобы делать инициализацию всех элементов формы при помощи компонента Zend_Form, чтобы впоследствии получить удобный механизм проверки всех элементов формы. (далее…)
1
Как работать с базами данных или знакомство с компонентом Zend_Db
No comments · Posted by admin in Zend Framework
Редко какое веб-приложение обходится без работы с базой данных. Компонент Zend_Db предоставляет удобный интерфейс доступа к SQL базам данных. Он использует ряд адаптеров для соединения с различными
базами данных. На полноценную ORM рассчитывать не приходится, да это и не нужно в большинстве случаев, Zend_Db является своего рода конструктором запросов. Разводить холивара на тему того, использовать
ли plain sql или ORM, не буду. Лично я сложные запросы предпочитаю записывать в явном виде, а простые можно генерировать, используя тот же самый Zend_Db.
30
Как настроить xgettext для перевода phtml файлов
1 Comment · Posted by admin in Zend Framework
Недавно закончил модуль локализации для системы, которую пишу. И столкнулся с проблемой, о которой сейчас расскажу.
Так как я рассказываю на этом сайте о Zend Framework, то перевод я осуществлял естественно при помощи Zend_Translate. Компонент Zend_Translate позволяет использовать несколько адаптеров для
перевода. Я же в основном до этого всегда использовал gettext – встроенный в php механизм для перевода текстов. Есть с ним ряд проблем, но в целом мне очень нравится работать с ним. Огромный плюс – это, пожалуй,
возможность автоматического сканирования всего проекта на предмет необходимости перевода. Нажал кнопку и тут же получил список того, что необходимо перевести, т.е. не надо запоминать и вносить в файлик
строчки для перевода, а потом в случае изменения лезть в этот же самый файлик и ручками править. Удобно
Метки страниц
В прошлый раз мы рассмотрели работу с компонентом Zend_Layout. Теперь мы знаем о макетах страниц, где их можно создавать, как получать к ним доступ и как во время работы приложения менять один макет на другой. Однако остаются вопросы о том, как можно изменить заголовок страницы, добавлять стили или скрипты в зависимости от ситуации, как построить меню, как добавить блок новостей на страницу и прочее. В этом нам помогут метки страниц (Zend_View placeholders).
В Zend Framework реализован шаблон «Компоновщик«, который позволяет нам менять страницу любым образом. Суть этого шаблона заключается в том, что в глобальном слое страницы мы определяем те области, где будет выводиться различный контент страницы в зависимости от запроса пользователя. Таким образом наша страница разбивается на множество мелких частей, объединяя которые впоследствии, мы получаем целое приложение. (далее…)
19
Zend Layout и ajax приложение просмотра погоды
1 Comment · Posted by admin in Zend Framework
Мы пишем программы, чтобы облегчить жизнь рядовым пользователям. Однако какой бы уникальной ни была ваша программа, не последнюю роль играет ее внешний вид, т.е. графический интерфейс. Дизайнеры и специалисты по построению UI (user interface) тратят много сил, чтобы создать понятную и удобную «обертку» для программы. Однако за программистами остается
работа по созданию инструмента, который бы позволил легко настраивать внешний вид, и не последнюю роль в этом процессе играют шаблоны. Поэтому очень важно использовать простые и
понятные методики использования шаблонов, чтобы другие люди с легкостью могли настраивать внешний вид как они сами того пожелают. Zend Framework предлагает два компонента
для управления представлением программы – Zend_View и Zend_Layout. Сегодня мы рассмотрим лишь один из них, а именно Zend_Layout.
Zend_Layout является своего рода макетом страницы, он представляет собой каркас, фундамент вашего представления. Именно в своем layout вы определяете доктайп, стили и внешние подключаемые файлы в секции head, разбиваете страницу на различные блоки, чтобы потом можно было отрендерить их, используя вспомогательные шаблоны или снипеты. Таким образом ваша HTML страница изначально будет строиться с использованием макета layout. Zend_Layout реализует паттерн двухшаговая шаблонизация. Т.е. сначала вы представляете данные в виде некой логической структуры, а затем используете необходимое форматирование данных, чтобы представить их пользователю. По умолчанию Zend Framework предлагает хранить ваши макеты в папке layouts/scripts, которая находится в папке application вашего приложения.
В прошлый раз мы рассмотрели создание своих контроллеров и действий. Теперь настало время написать свое мини-приложение с
CRUD (create-read-update-delete) функционалом. Так как вопросы работы с базой данных я оставлю на следующий раз, то работать мы будем с сессиями. Раз уж мы
создали контроллер BookController, давайте продолжим и напишем мини-каталог книг.
У каждой книги будет свое название, автор и краткое описание.
Итак, в прошлый раз мы установили Zend Framework. Давайте теперь посмотрим, что происходит при запуске приложения. Мы рассмотрим, что из себя представляет файл index.php, как создаются контроллеры, как добавить своей действие.
Начнем с файла index.php, куда направляются все запросы нашего приложения.
(далее…)
В последние несколько лет на форумах, в джабере все чаще можно встретить темы об ООП программировании. Появляется все больше полезного кода, написанного в так называемом ООП стиле. Со временем эти вспомогательные программы объединяют в рамках одной системы или компонента системы, и появляются библиотеки, фреймворки – программное обеспечение, которое облегчает разработку нового кода. Я хочу рассказать об одном таком фреймворке – Zend Framework, который начал свое развитие в 2005 году. В основе него лежит архитектура Solar Framework, автор которого Paul M. Jones. Zend Framework базируется на двух вещах: паттерн Front Controller и схема MVC. (далее…)
