Записи с меткой «PHP»

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

В очередном обсуждении архитектуры и DDD на форуме Yii (да, такое бывает, но жуткий дефицит) возник вопрос по упрощённому фрагменту сущности User из демо-приложения. Попробуем поразмышлять об архитектуре методов и о доменных моделях в Yii2.

С первого интенсива по ООП прошло уже полтора месяца. Надеюсь, что его участники уже несколько раз пересмотрели запись и многое попробовали в своих проектах. Так что пора двигаться дальше. На первом интенсиве это оказалось не так страшно. как многим казалось. Пришло время подвести итоги и сформировать планы на будущее.

Спонтанный вебинар о применении кеширования данных, фрагментов и страниц в Yii2 на примере каталога с прошлого скринкаста. Рассмотрели несколько вариантов и ответили на интересные вопросы зрителей

При входе в чужой проект (или при доработке своего старого) часто сталкиваемся с отсутствием хоть каких-то автоматических тестов. А без них весьма неприятно ковыряться в исходниках, так как есть постоянный страх что-то сломать. Поэтому первым делом приходится внедрять автотесты. Посмотрим, чем Gii может нам помочь.

Многие через обратную связь просят их обучить какому-нибудь фреймворку, мотивируя это тем, что хотят перейти на новый уровень разработки. Но после собеседования часто оказывается, что они работали только с самописным кодом или с процедурными CMS, где толком не встречались с объектно-ориентированным подходом.

Сначала хотел провести вебинар по связям ActiveRecord-моделей в Yii2 на основе урока о теории баз данных, осветив несколько тем из документации. Но получилась бы куча «воды» без практики. Так что решил показать на примере разработки каталога для интернет-магазина из реальной жизни.

В прошлой части мы написали удобный гибридный AuthManager, который можем захотеть использовать в других проектах. Да и в обратную связь поступало много вопросов, как подготовить какой-нибудь компонент для совместного использования в разных приложениях. Так что попробуем сделать полноценное переносимое расширение, которое выгрузим на GitHub и опубликуем для подключения через Composer.

Недавно мы переработали модульную структуру нашего сервиса. А нас уже есть модуль администрирования, который необходимо закрыть от посторонних глаз. Вдальнейшем мы будем добавлять новые ограничения для разных пользователей, поэтому пришла пора добавить контроль доступа на основе ролей.

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