Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Программирование с Yii2: Помощники

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called How to Program With Yii2.
Programming With Yii2: Routing and URL Creation
Programming With Yii2: Using Ajax

Russian (Pусский) translation by Anna k.Ivanova (you can also view the original English article)

Final product image
What You'll Be Creating

Если вы спрашиваете: «Что такое Yii?» то ознакомьтесь с уроком Знакомство с Yii Framework, в котором рассматриваются преимущества Yii и которое включает в себя обзор Yii 2.0.

Что такое помощники?

В серии уроков Программирование с Yii2 я рассказываю своим читателям о фреймворка Yii2 для PHP. В этом уроке я приведу краткий обзор помощников. В Yii помощники - это модули, которые, среди прочего, группируют обычно полезные библиотеки для управления строками, файлами, изображениями, URL и HTML, и их легко расширить.

Я также расскажу о примере создания помощника в Планировщике собраний, в серии про стартап Envato Tuts +.

Прежде чем мы начнем, пожалуйста, помните, я стараюсь участвовать в обсуждениях ниже. Если у вас есть вопрос или предложение по теме, пожалуйста, напишите комментарий ниже или свяжитесь со мной в Twitter @reifman.

Если вы заметили пробел между эпизодами серии Программирование с Yii, это потому, что в прошлом году мне пришлось провести операцию на головном мозге. Благодарим вас за терпение и поддержку. Приятно регулярно писать, и я с нетерпением жду продолжения освещения Yii2.

Библиотеки Yii2 Helper

По сути, помощники - это всего лишь модули поддержки топографически ориентированного кодирования. Вот список помощников, предоставленных как часть Yii2 - этот список теперь немного более современный, чем документация и ее меню:

  • ArrayHelper упрощает обработку массивов с помощью таких функций, как безопасное отображение значений, отображение, слияние и т.д.
  • Console поддерживает функции командной строки, собирает ввод и выводит цветной текст.
  • FileHelper расширяет основные функции управления файлами PHP.
  • FormatConverter преобразует различные форматы, в основном, даты на данный момент.
  • Html программно генерирует часто используемые теги HTML.
  • HtmlPurifier очищает входной текст от пользователей для повышения безопасности.
  • Imagine предоставляет функции манипуляции с изображениями, предоставляемые расширением yii2-image.
  • Inflector предоставляет полезные строковые функции для общих преобразований.
  • Json кодирует и декодирует данные JSON.
  • Markdown конвертирует markdown в HTML.
  • StringHelper расширяет основные функции PHP для строк.
  • Url помогает с программным созданием URL-адресов и запоминанием их для навигации.
  • VarDumper предоставляет расширенную функцию var_dump.

Обычно в своих приложениях Yii я использую помощники Html и Url. И, помните, я использовал помощника Imagine в Пишем свой стартап на PHP: настройки пользователя, изображения профиля и контактные данные для масштабирования загруженных изображений профиля.

Давайте кратко рассмотрим некоторых из менее известных помощников.

ArrayHelper

Programming with Yii - Array Helper Methods

Как вы можете видеть, ArrayHelper предоставляет несколько полезных функций, ориентированных на массив.

Например, getValue упрощает поиск значений из ключей в сложных массивах:

Или map() создает простой массив ключей из более сложного массива:

HtmlPurifier

Programming with Yii Helpers - Example Demo of HtmlPurifierorg Library

Вы можете использовать HtmlPurifier для повышения безопасности обработки ввода пользователя. Например, если кто-то вставляет код инъекции SQL в вашу форму, как указано выше, очистка его с помощью HtmlPurifier нейтрализует любую атаку.

Он использует библиотеку HTML Purifier library.

StringHelper

Programming with Yii - String Helper Methods

StringHelper предоставляет некоторые расширенные методы работы со строками в PHP. Например, truncateWords() может уменьшить строку до определенного количества слов, но также сохранить правильный HTML в результате.

Создание собственного помощника

Для Планировщика собраний мне понадобилось создать базового помощника, который я мог бы использовать. На данный момент я объединил все в один, называемый MiscHelpers.php:

Вы можете видеть, что различные методы включены в различные типы. Например, getDisplayName() возвращает имя пользователя, адрес электронной почты или конкатенированные строки с именем и фамилией, когда они доступны.

Полезно создавать их один раз в одном месте, а не переписывать их по-разному в моделях по мере необходимости.

Я создал MiscHelpers.php, создав файл в /common/components и создав класс, который я мог бы вызвать во всем приложении.

Функция buildCommand упрощает программную сборку ссылок для исходящих сообщений электронной почты, которые включают возможность аутентификации пользователей с помощью $auth_key, хранящихся в базе данных.

В этом модуле нет ничего особенного, кроме того, что он похож на цель стандартных помощников Yii, которые я описал ранее.

В любом месте, где я хочу использовать функции MiscHelper, я могу использовать следующий код:

По мере того, как планировщик собраний растет, я, вероятно, создам множество помощников, более традиционно организованных вокруг актуальных вопросов.

В заключение

Yii Helpers полезны. И, будучи занятыми программистами, мы, возможно, не знаем, что они существуют. Надеюсь, вы видели некоторые вспомогательные функции в рамках модулей Yii выше, которые со временем станут полезными для вас. И я надеюсь, что команда Yii продолжает расширять их с каждым обновлением.

Надеюсь, вы также подумаете о том, как создавать собственные помощники в своих приложениях, а не дублировать общие методы в каждой модели.

По мере того, как серия Yii2 прогрессирует, я все чаще приветствую запросы на новые темы. Вы можете опубликовать их в комментариях ниже или отправить мне письмо по электронной почте на моем веб-сайте Lookahead Consulting.

Если вы хотите узнать, когда выйдет следующий учебник Yii2, подпишитесь на меня @reifman в Twitter или проверьте мою страницу инструктора. Моя страница инструктора будет включать все статьи из этой серии, как только они будут опубликованы.

Чтобы изучить более продвинутое приложение Yii2, ознакомьтесь с нашей серией статей о Планировщике встреч. Приложение теперь находится в альфа-релизе, и вы можете планировать встречи с друзьями. Вы также можете загрузить код; это приложение с открытым исходным кодом.

Ссылки по теме

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.