Программирование сайта - плагины и помощники

В процессе создания сайта, его программировании, часто возникают не стандартные ситуации, в которых хотелось бы нарушить парадигму MVC, или написать плохой код для быстрого решения задачи. Рассмотрим пример: в процессе регистрации посетителя на сайте, ему нужно выслать письмо с инструкциями и помощью, тексты которых можно было редактировать в админке сайта. Логичнее всего этот текст брать из модуля «просто страницы» (Mf\Statpage) где хранятся обычные тексты или страницы без логических связей. Самое очевидное решение, это передавать сервис управления этими страницами в конструктор контроллера регистрации посетителей, внутри уже можно извлекать сам текст, согласитесь, это несколько громоздко и не наглядно. Другой пример, выводим список разделов услуг, перед ними нужно вывести общий текст об этом, так же текст разумно брать из модуля «просто страницы» (Mf\Statpage), здесь по аналогии с первым примером нужно передавать в контроллер сервис управления этими страницами и контроллер извлекая текст передает ее в модель для отображения. Еще пример, на всех страницах выводить последние статьи сайта, получается, что во все контроллеры нужно внедрять объект обработки статей и передавать результат в представление. Разработчики позаботились о программистах и предоставили удобную систему «помощников» и плагинов.

Что такое помощники и плагины в Zend Framework 3

Помощник и плагин в терминологии Zend Framework 3 это объект, который, как и все другие объекты хранится в сервис-менеджере в том или ином виде, и работает подобно остальным объектам системы. Главное отличие - его можно вызвать по имени в данном контексте, прямо в контроллере или представлении по его псевдониму, например, $this->Statpage() - это обращение к помощнику «просто страницы» (Mf\Statpage) в контроллере. Согласитесь, это просто, элегантно и удобно! Не нужно передавать в контроллеры новые объекты, из представления можно загружать целые блоки, например, последние статьи. Разработчики 1С Битрикс предоставляют подобные помощники, называя их «инфоблокакми». Zend Framework 3 уже имеет встроенные  помощники и плагины.

Создание помощников и плагинов

Помощники и плагины как правило настраиваются в конфигурационном файле, подобно другим объектам фремворка, при помощи фабрик.

Легко догадаться, в массиве с ключем «controller_plugins» хранятся плагины контроллеров, а с ключем «view_helpers» - помощники для представлений. Внутри плагинов и помощников можно обращаться к любым объектам фреймворка, базе данных и т.д. Программисты нашей студии широко применяют эту технологию в разных пакетах, например, для вывода меню сайта, или последних статей из блогов и статей и т.д. Все это направлено на создание прозрачной программы сайта, которую будет легко поддерживать и усовершенствовать в будущем. Каждый наш сайт содержит множество современных технологий, заказывая у нас разработку сайта вы получите современный технологичный сайт.

Веб-студия "Мастер Флеш"
+7 (928) 416 53 03
ул. Зиповская 5/2 350010 Россия, г.Краснодар

Перейти к списку