Composer пакеты для Yii2
В этот раздел я стараюсь регулярно добавлять свои проекты. Безусловно, в этом разделе собраны не все проекты, которые я сделал за последние годы, однако по наличию свободного времени пополняю этот раздел как новыми проектами, так и старыми, про которые вспоминаю.
Нотификации в браузере через JS и PHP-api с очередью.
В любых проектах так или иначе необходимо показывать нотификации пользователю. Я вынес в отдельный пакет небольшой компонент для создания уведомлений в браузере трех типов: информационные (info), позитивные(success) и негативные(error). Использовать дополнение легко вызывая JS функцию или PHP-класс. Для визуализации уведомлений в DOM встраиваются SVG иконки. Кастомизировать стили отображения можно переопределив несколько CSS-стилей. Основные плюсы решения - отсутствие зависимостей и небольшой размер.
Генерация изображения для OpenGraph с логотипом и заголовком страницы или статьи.
На новостных сайтах часто встречаются превью новости для OpenGraph в виде текста, логота, фотографии или коллажа из всего этого. Данный модуль позволяет генерировать такого рода изображеня для каждой статьи по заданным параметрам с поддержкой шрифтов.
Общая абстракция над апи MindBox
По одному из проектов необходимо было работать с mindbox. Для работы была написана общая абстракция, используя которую можно выполнять любые запросы.
Виджет WYSIWYG-редактора Summernote для фреймворка Yii2 .
Виджет WYSIWYG-редактора Summernote для фреймворка Yii2 c
включенными ассетами и поправлеными багами в js-библетеках.
Валидатор и форматтор для телефонных номеров.
К сожалению в стандартном компоненте Formatter в Yii2 отсутствует возможность форматировать телефонные номера, а так же среду core validators нет валидатора на телефонный номер (хотя для email, например, он есть. Лично мне в проектах, которыми я занимаюсь, работать с телефонным номером приходится не реже, чем с электронной почтой. Для этого был написан небольшой компонент, который позволяет это делать достаточно быстро и удобно, а именно: валидировать телефонные номера на клиентской и серверной стороне, а так же форматировать их вывод.
Быстрое добавление и редактирование SEO и OpenGraph мета-тегов.
В том случае, когда мы разрабатываем на yii2 публичный сайт, а не какую-то внутреннюю информационную систему, то нам необходимо организовать генерацию различных seo и OpenGraph тегов. Часть этих тегов индексируется поисковыми системами (Page title, meta-description, meta-keywords). Другая часть, OG и Twiiter теги нужны для корректного отображения предварительного просмотра (миниатюры) страницы во время шаринга её в социальных сетях. При этом, часто бывает нужно установить, картинкой-обложкой на конкретную страницу, скажем картинку статьи, а при шаринге других разделов - показывать картинку по-умолчанию. Все эти проблемы призвано решить это небольшое расширение для фреймворка Yii2. С помощью него возможно в пару-тройку строк вызвать класс, передав в него объект View, можно обогатить его всеми необходимыми тегами.
Удобная работа с файлами ваших ActiveRecord-моделей Yii2.
Организация работы с файлами всегда была головной болью для меня, в той или иной степени. Этот модуль - это третья попытка решить эту проблему. Данный модуль имеет почти все необходимые возможности: добавляет к моделям любое количество файловых полей, с отдельными валидаторами (с возможностью использовать сценарии), а так же позволяет работать с файлами использую виджет, поддерживающий предварительный просмотр офисных документов, кроп и поворот изображений, драг-н-дропную загрузку и сортировку файлов. Так же, в поставке, идет виджет для вывода файлов, в виде списка с возможностью скачать все файлы одним архивом.
Модуль для создания, восстановления и удобного управления бекапами.
Данный модуль позволяет бекапить папки и базы данных в рамках приложения на Yii2 фремворке. Для управления бекапами можно использовать веб-интерфейс, консольные команды или REST-API. При необходимости, модуль самостоятельно удаляет устаревшие копии и хранит только указанное количество бекапов разного типа.