Pull to refresh
5
0
Сергей Аганисянец @sergey126992

Разработчик ПО

Send message

SOA на Laravel и JSON-RPC 2.0

Reading time4 min
Views6.8K
SOA (Сервис-Ориентированная Архитектура) строится путём комбинации и взаимодействия слабо-связанных сервисов.

Для демонстрации создадим два приложения Клиент и Сервер и организуем их взаимодействие посредством протокола удаленного вызова процедур JSON-RPC 2.0.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

Расширяем Laravel за счет собственных компонентов

Reading time3 min
Views4K

Задача


Добавить в приложение систему оповещения пользователей через СМС-сообщения с возможностью выбора провайдера.

Решение


Оптимальным решением, на мой взгляд, является добавление собственного компонента.
Компонент — это блок программы с четко определенным набором действий (контрактом), способный решать возложенные на него задачи посредством различных драйверов. Так, например, встроенный компонент Cache может использовать драйвера: file, memcached или redis.

При построении нашего компонента, мы применим принцип проектирования Мост, тот же принцип, на котором построены компоненты Laravel.

Итак, приступим.
Читать дальше →
Total votes 10: ↑7 and ↓3+8
Comments5

Принцип DRY на примере Laravel

Reading time4 min
Views10K
Рассмотрим простой модуль, отвечающий за добавление новых пользователей.

И на его примере увидим, какие возможности открывает применение принципа DRY.

Для меня принцип DRY (Don't Repeat Yourself) всегда воплощался в двух основных определениях:

  1. Дублирование знаний — всегда нарушение принципа
  2. Дублирование кода — не всегда нарушение принципа

Начнем с контроллеров содержащих минимальное количество логики.
Читать дальше →
Total votes 7: ↑6 and ↓1+10
Comments22

Принцип Единой Ответственности (SRP) на примере Laravel

Reading time4 min
Views9.2K
Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel.

Часто, описывая модель разработки MVC, на контроллер возлагаются необоснованно большие задачи. Получение параметров, бизнес логика, авторизация и ответ.

Конечно, в статьях и книгах это описывается в качестве примера, но часто воспринимается как призыв к действию в рабочих проектах. Такой подход неизбежно приведет к неконтролируемому разрастанию класса и сильно усложнит поддержку кода.
Читать дальше →
Total votes 12: ↑9 and ↓3+9
Comments14

Концепция фильтрации моделей на примере Laravel

Reading time4 min
Views25K
Хочу представить вашему вниманию концепцию организации фильтрации по URL-запросу. Для примера буду использовать язык PHP и фреймворк Laravel.

Концепция


Идея заключается в создании универсального класса QueryFilter для работы с фильтрами.

GET /posts?title=source&status=active

Использую данный пример, мы будем фильтровать посты (модель Post) по следующим критериям:

  • Наличие слова «source» в поле title;
  • Значение «publish» в поле status;
Читать дальше →
Total votes 5: ↑2 and ↓3+1
Comments6

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity