Шаблон Prototype (Прототип)
03-11-2019PHP/ООП
Прототип — порождающий шаблон проектирования. Он используется для клонирования существующего объекта, вместо его инстанцирования с помощью new. Нам повезло, что в PHP уже есть всё необходимое для Prototype — это языковая конструкция clone, которая позволяет упростить реализацию праттерна до одной строчки. Read
Шаблон Observer (Наблюдатель)
02-11-2019PHP/ООП
Поведенческий шаблон Наблюдатель реализует механизм, с момощью которого один класс может уведомлять другие о своём изменении. Практическая реализация кода может быть разной, но в PHP уже существуют готовые стандартные интерфейсы SplSubject, SplObjectStorage и SplObserver, на которых и принято реализовывать паттерн Observer. Read
Проблема View в MVC
08-10-2019PHP
Я уже рассказывал, что в свободное время занимаюсь своим микрофреймворком и хочу поделиться некоторыми мыслями по этому поводу. Речь пойдёт о представлениях (view) в концепции MVC, точнее о том, что они на самом деле представляют. Read
Шаблон проектирования Adapter (адаптер)
07-10-2019PHP/ООП
Суть паттерна отражает его название — использовать два несовместимых между собой класса через некий общий интерфейс. То есть создаётся класс-оболочка, которая скрыто выполняет нужный класс. По своему поведению, Адаптер очень Read
Создание telegram-бота
23-09-2019Блог
Запустил telegram-бот MaxSiteOrg_bot для своего (этого) сайта. Бот в общем-то больше призван показать возможности ботов как таковых, а также возможную интеграцию с сайтом. Например доступен вывод последних записей, рубрик и меток. Read
Что такое PSR
11-09-2019PHP
PHP Standards Recommendations — это набор рекомендаций для разработчиков на PHP. Отношение к PSR разное: от полного неприятия, то фанатичной преданности. Сам по себе PSR появился как копирование Java Community Process (ага, опять Java!). Основное назначение PSR в том, чтобы предоставить PHP-разработчикам некие общие концепции, которые уже были проверены и отработаны. Read
Обновление шаблона MF (сентябрь 2019)
06-09-2019Шаблон MF для MaxSite CMS
За это лето я успел сделать несколько важных изменений в MF. Вообще MF отличается от других шаблонов тем, что содержит множество модулей, блоков, компонентов и одна из проблем: как этим всем управлять. Например сейчас 48 модулей для главной — необходимо было придумать механизм, который позволит клиентам визуально подбирать блоки без правки исходных файлов. Read
CodeIgniter 4. Работа с базой данных
31-08-2019CodeIgniter
Работа с базой данных всегда была сильной стороной CodeIgniter. В 4-й версии сохранился практически тот же самый подход, что и в прошлых версиях, хотя есть отличия. В первую очередь стоит отметить, что SQL Query Builder (Active Records в первой и второй версиях) теперь вынесен отдельным классом. Если раньше SQL-запрос строился прямо в объекте базы ($db), то сейчас это нужно делать отдельно. Read
Немного о своём PHP-фреймворке
28-08-2019PHP
Где-то с нового года я занимаюсь разработкой своего PHP-фреймворка. Без каких-либо обязательств, просто для себя. Во что это выльется я не знаю, да и цели сделать его публичным пока не стоит. Изначальный посыл был несколько лет назад: я серьёзно подумывал отказаться от CodeIgniter в качестве основы MaxSite CMS. Продумывал новую структуру и всё что с этим связано. Постепенно я понял, что затея тупиковая, поэтому решил сосредоточиться на более простой вещи — микрофреймворке, который даст основу уже полноценной разработке. Read
Шаблон Strategy (Стратегия)
28-08-2019PHP/ООП
Strategy — поведенческий шаблон, где используются разные алгоритмы в одном объекте. То есть Стратегия позволяет выделить отдельные конкретные алгоритмы, а после их использовать в базовом классе. Read