MAXSITE.ORGКак сделать сайт своими руками
Шаблон Bridge (Мост)

Шаблон Bridge (Мост)

04-11-2019
⚠ Error! SQLSTATE: HY000 (\Pdo\PdoQuery\fetchAll) no such table: file_info
php-oop
Паттерн Bridge представляет собой возможность объединения двух разных интерфейсов так, чтобы каждый из них развивался раздельно. Чтобы понять его назначение, проще всего объяснить на примере Java. Читать
Шаблон Prototype (Прототип)

Шаблон Prototype (Прототип)

03-11-2019php-oop
Прототип — порождающий шаблон проектирования. Он используется для клонирования существующего объекта, вместо его инстанцирования с помощью new. Нам повезло, что в PHP уже есть всё необходимое для Prototype — это языковая конструкция clone, которая позволяет упростить реализацию праттерна до одной строчки. Читать
Шаблон Observer (Наблюдатель)

Шаблон Observer (Наблюдатель)

02-11-2019php-oop
Поведенческий шаблон Наблюдатель реализует механизм, с момощью которого один класс может уведомлять другие о своём изменении. Практическая реализация кода может быть разной, но в PHP уже существуют готовые стандартные интерфейсы SplSubject, SplObjectStorage и SplObserver, на которых и принято реализовывать паттерн Observer. Читать
Проблема View в MVC

Проблема View в MVC

08-10-2019php
Я уже рассказывал, что в свободное время занимаюсь своим микрофреймворком и хочу поделиться некоторыми мыслями по этому поводу. Речь пойдёт о представлениях (view) в концепции MVC, точнее о том, что они на самом деле представляют. Читать
Шаблон проектирования Adapter (адаптер)

Шаблон проектирования Adapter (адаптер)

07-10-2019php-oop
Суть паттерна отражает его название — использовать два несовместимых между собой класса через некий общий интерфейс. То есть создаётся класс-оболочка, которая скрыто выполняет нужный класс. По своему поведению, Адаптер очень Читать
Создание telegram-бота

Создание telegram-бота

23-09-2019blog
Запустил telegram-бот MaxSiteOrg_bot для своего (этого) сайта. Бот в общем-то больше призван показать возможности ботов как таковых, а также возможную интеграцию с сайтом. Например доступен вывод последних записей, рубрик и меток. Читать
Что такое PSR

Что такое PSR

11-09-2019php
PHP Standards Recommendations — это набор рекомендаций для разработчиков на PHP. Отношение к PSR разное: от полного неприятия, то фанатичной преданности. Сам по себе PSR появился как копирование Java Community Process (ага, опять Java!). Основное назначение PSR в том, чтобы предоставить PHP-разработчикам некие общие концепции, которые уже были проверены и отработаны. Читать
Обновление шаблона MF (сентябрь 2019)

Обновление шаблона MF (сентябрь 2019)

06-09-2019mf
За это лето я успел сделать несколько важных изменений в MF. Вообще MF отличается от других шаблонов тем, что содержит множество модулей, блоков, компонентов и одна из проблем: как этим всем управлять. Например сейчас 48 модулей для главной — необходимо было придумать механизм, который позволит клиентам визуально подбирать блоки без правки исходных файлов. Читать
CodeIgniter 4. Работа с базой данных

CodeIgniter 4. Работа с базой данных

31-08-2019codeigniter
Работа с базой данных всегда была сильной стороной CodeIgniter. В 4-й версии сохранился практически тот же самый подход, что и в прошлых версиях, хотя есть отличия. В первую очередь стоит отметить, что SQL Query Builder (Active Records в первой и второй версиях) теперь вынесен отдельным классом. Если раньше SQL-запрос строился прямо в объекте базы ($db), то сейчас это нужно делать отдельно. Читать
Немного о своём PHP-фреймворке

Немного о своём PHP-фреймворке

28-08-2019php
Где-то с нового года я занимаюсь разработкой своего PHP-фреймворка. Без каких-либо обязательств, просто для себя. Во что это выльется я не знаю, да и цели сделать его публичным пока не стоит. Изначальный посыл был несколько лет назад: я серьёзно подумывал отказаться от CodeIgniter в качестве основы MaxSite CMS. Продумывал новую структуру и всё что с этим связано. Постепенно я понял, что затея тупиковая, поэтому решил сосредоточиться на более простой вещи — микрофреймворке, который даст основу уже полноценной разработке. Читать