Я полагаю, что большинство веб-разработчиков сталкивались с проблемой “жирных” моделей в какой-то момент своей карьеры. Даже хорошие разработчики, следующие SOLID принципам, сохраняя правила проверки и другую бизнес-логику вне моделей,…
PHP
Пакет Laravel для генерации и валидации OTP токенов
В этом посте я покажу, как сгенерировать и проверить OTP (одноразовый пароль) с помощью простого пакета Laravel. Итак, давайте начнем и выполним следующие три простых шага. Сгенерируем OTP,…
Замена условного оператора полиморфизмом: как убрать if/switch и не усложнить код
Условные операторы — нормальная часть программирования. if, else, switch, match сами по себе не зло. Проблема начинается тогда, когда один и тот же выбор по типу начинает расползаться…
Это не легаси – это php!
За последний год разработчики Vimeo написали бэкенд-код на множестве языков-PHP, Go, Ruby, Python, NodeJS, Java, C, C++ и немного Rust. В 2004 году мы начинали только с одного:…
Создание и использование RESTful API в Laravel
Что такое API? API – это Application Programming Interface, это описание способов которыми одна компьютерная программа может взаимодействовать с другой программой. Оригинал статьи Что такое REST? REST – это аббревиатура от REpresentational State Transfer. Этот…
Как безопасно реализовать восстановление пароля в PHP
Эта статья призвана познакомить разработчиков PHP с тем, как правильно реализовать функцию восстановления пароля в PHP. Все мы были когда-то начинающими разработчиками, когда-то мы считали md5 функцию безопасной….
Зачем и как писать качественные Unit-тесты
В этом видео разберемся что такое чистые и грязные функции. Вместе разберемся как из грязных сделать чистые. Что такое качественный unit-тест. И конечно же увидим, как сделать это…
Введение в слой приложения. Предметно-ориентированный Laravel
Еще в главе 1 я утверждал, что одной из характеристик доменно-ориентированных проектов Laravel является следующее: [ … ] самое важное, что вы начинаете думать в группах связанных бизнес-концепций,…
Состояния. Предметно-ориентированный Laravel
Паттерн состояния – это один из лучших способов добавить в модели поведение, зависящее от состояния, сохраняя при этом их чистоту. В этой главе мы поговорим о шаблоне состояния…
Действия. Предметно-ориентированный Laravel
Теперь, когда мы можем работать с данными в безопасном типизированном и прозрачном виде, нам нужно начать что-то делать с ними. Точно так же, как мы не хотим работать…