Каждому ресурсу - свой слот. Моя замена фреймворков - SLOT-H
Спойлер - на следующей неделе на GitHub и включение демо-сайта о нём на нём же: в репозитории будет фактический код slot-h.ru.
Сколько раз вы писали одно и то же? Авторизация, права, работа с БД, админка, локализация. Проект за проектом - как день сурка. Копипаст из старого кода. Или хуже - переписывание с нуля, потому что в старом накосячили с архитектурой.
А потом подключаете очередной фреймворк весом в сотни мегабайт. Ради трёх таблиц и одной формы.
Я так делал 15 лет назад. И в какой-то момент подумал: “А зачем?”
Перестал писать одно и то же. Перестал тащить зависимости, которые не контролирую. Перестал гадать, что там “под капотом” у очередной библиотеки. Вместо этого начал строить систему, где каждому ресурсу - свой уровень. База - свой. Кеш - свой. Пользователь - свой. Переводы - свой. Всё изолировано. Всё предсказуемо. Всё под контролем.
Не нужно городить огород из сотни файлов для одного SQL-запроса. Просто кладёшь файл в нужную папку - система сама его находит. И это работает. 15 лет. Без переписывания под каждый новый релиз PHP.
SLOT-H (Single Logical Operating Tool for Hosting)
Это не фреймворк. Это экосистема для мультипроектной разработки. Один код - десятки сайтов. Одна точка входа. Единая логика. Без микросервисов. Без контейнеризации.
Как это начиналось
Первая версия - тупой набор скриптов. Не гениальное озарение. Просто желание не сдохнуть от скуки при очередном Ctrl+C - Ctrl+V.
2015 - уже экосистема. 2020 - N проектов в боевом режиме. 2026 - 15+ лет эволюции.
Текущий сайт slot-h.ru развернут с нуля за 14 минут. Засекал. :)
Что умеет
ORM без магии. Поддержка MySQL, SQLite, PostgreSQL, MongoDB. Код не рефакторился под каждое хранилище. Более 30 видов условий, 4 вида JOIN, автооптимизация WHERE. Разработчик не думает, как строится запрос - ядро знает лучше.
Локализация “из коробки”. Ядро само отдаст переводы под язык пользователя. Автогенерация контроллеров, экшенов, представлений и CSS+JS - одной консольной командой.
Фреймворк - швейцарский нож. SLOT-H - отвёртка
Фреймворк - как швейцарский нож. Вроде всё есть, но чтобы открыть пиво, нужно прочитать инструкцию. SLOT-H - отвёртка. Всегда под рукой. Всегда работает. Не требует инструкции. Не настраиваете роутинг. Не правите .htaccess. Не регистрируете сервисы. Кладёте файл в нужную папку - система находит.
Документация - не чёрный ящик
Код полностью документирован. 33 страницы .md (пока мало, буду расширять). Каждый класс, каждый метод - с пояснением в формате PhpDoc.
Безопасность
Динамическая подпись форм (sign) - меняется каждые 30 секунд, привязана к сессии и времени. (В полной версии - есть дополнение - fingerprint устройства.) Автоматическая защита от перебора скриптов: 404 не существует за ненадобностью - редирект на IP брутфорсера с фиксацией в логах. Спойлер: чаще всего ищут по wp и phpmyadmin. :)
Что внутри (из коробки)
- Модули (контроллеры, модели, представления - по полочкам). - Мультипроектность (один код на десятки проектов). - ORM без магии (более 30 операторов). - Безопасность (подпись форм). - Работает везде: Apache/Nginx, PHP 7.x-8.x, MySQL 8. Требования - 2GB RAM, 1-2 CPU. - Объём кода - 4-5 мегабайт с картинками.
Публичная демо-версия
На GitHub на следующей неделе (планирую 19 августа 2026, 15:00 MSK, о чем говорит заглушка на сайте) выложу урезанную версию. Может и раньше - пока тестирую после “кастрации”. Без fingerprint’а, без PostgreSQL и MongoDB, без админки и ЛК. Но с авторизацией и регистрацией. Показана работа на mysqli. Можно брать и дорабатывать под свои задачи.
Лицензия MIT. Бесплатно. Для любых целей. 15 лет в продакшене.
Итог Если вы пишете код для одного проекта, переписываете одно и то же, тащите десятки зависимостей… Не уверен, что можно считать, что так “правильно”.
“Правильно” - когда быстро разворачивается и работает годами. SLOT-H работает. 15 лет. Без переписывания.
Вы всё ещё ищете идеальный фреймворк? Или уже поняли, что его не существует и лучшее решение - чем проще - тем лучше?
P.S. Пролог к SLOT-H вышел слишком длинным Полный текст здесь: https://dzen.ru/a/anh7ps6WFifxXyRH
· 14.08
Идея понятная: хочется убрать копипасту вокруг авторизации, прав и БД. Но таких 'своих фреймворков' обычно хватает ровно до первого нетривиального кейса - миграций, observability и поддержки. Я бы сразу мерил цену владения. У вас есть уже боевой кейс, а не только демо?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 14.08
Павел, конечно есть. Но тут есть момент, который я не стану менять. Это - не пиар сделанного, это - с позволения сказать пиар мышления. И данный пиар - просто одна из ступенек некоего личного "плана".
Но вот пруфов не будет, тут придется извинить меня за эту позицию. Все будет на простых правилах - как на моем сайте в разделе "Портфолио" - факты, а не имена. Отчасти связано с NDA.
Отвечу на вопрос - да, боевые кейсы за 15+ лет конечно есть - на данный момент (хотите верьте, хотите нет) разрабатываю проект #66 для одного подмосковного предприятия. Ядро ведет себя стабильно и без особых усилий позволяет реализовать любые фантазии. Ограничение - скилы разработчика в части логики.
Почему демо кастрировано - потому, что каждый отдельный боевой кейс - набор собственных модулей. Демо - чистая оболочка без кастомных рпазработок под клиента.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 14.08
да....
по пунктам:
миграции - да, есть, но сразу скажу - уступают допустим Симфони в части управляемости - к чему лукавить?
observability - абсолютная на любом этапе работы: фактичсеки если возникла ошибка, то она в конкретном экшене конкретного контроллера: логика сгруппирована в одном месте, и не размазана между контроллером и моделью, краш на уровне данных и запросов контролируется встроенными механизмами + детализированные системные логи
поддержка - (мы должны понимать, что чем хуже написано, тем сложней поддерживать) - при условии, что за компом сидел программист, а не обезьяна с гранатой, то поддержка сводится к конкретном экшену и конкретному представлению - не так сложнео поддерживать два файла
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён