Shortify

Сокращение URL как домен, а не как фреймворк

Лёгкая PHP 8.3+ библиотека для сокращения URL. SOLID и DDD, репозиторий на границе, без встроенного хранилища.

Архитектура · PHP · DDD

Problem

Сокращение URL — маленький домен, который фреймворки обычно поглощают. Хранение, коды и валидация смешиваются в одном классе.

Role

Автор и сопровождающий

Approach

Разделил Url как value object, логику сокращения, генерацию кода и интерфейс репозитория. Персистентность остаётся у приложения. Пакет tenqz/shortify в Composer.

Outcome

Библиотека, которая сокращает и раскрывает URL и не диктует, какая база за этим стоит.

Сокращение URL — доменная задача, а не повод тянуть фреймворк. Хранилище у приложения уже есть. Библиотека не должна делать вид, что это не так.

Shortify держит Url как value object с валидацией, генерирует коды и говорит с хранилищем через UrlRepositoryInterface. shorten и expand живут на фасаде. Персистентность остаётся снаружи пакета.

GitHub

Давайте делать сложное понятным.

Архитектура, инженерное лидерство и AI в разработке — когда система слишком важна, чтобы её упрощать, и слишком дорогая, чтобы ею не владеть.

LinkedIn Telegram Email