Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Laravel, хорошие практики

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
alexeymezenin
Отправлено: 08 Ноября, 2017 - 15:52:14
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2017  


Помог: 0 раз(а)




Собрал хорошие практики Laravel в репозиторий. Если у кого-нибудь есть дополнения, пожалуйста делитесь ими.

Еще написал статью на эту же тему, которая точно будет пролезна новичкам, мидлам и некоторым сениорам.
 
 Top
LIME
Отправлено: 08 Ноября, 2017 - 18:35:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ткнул пальцем и пошел вниз
alexeymezenin пишет:
По своей сути, это лишь один из частных случаев принципа единой ответственности. Выносите работу с данными в модели при работе с Eloquent
насколько помню оно AR? AR как бэ нарушает SRP. Модель не обязана знать откуда она берется итд итп.
alexeymezenin пишет:
выносите валидацию из контроллера в Request классы
превращать Request в DTO...ну хз..тоесть если мы из екселя будем импортировать нам повторять валидацию еще где-то?
Нарушение SRP для Request.
alexeymezenin пишет:
Бизнес логика в сервис-классах
Как-раз надо ее в моделях держать(по сути модель и есть бизнес-логика, в слой персистентности она прератилась в вебе)... особенно если выбросить персистентность станет удобно
В сервисы лучше переносить логику с большим количеством зависимостей или с пересечением ответственности моделей
alexeymezenin пишет:
Комментируйте код

alexeymezenin пишет:
Determine if there are any joins.

Надо писать самодокументируемый код, а не лепить на строчку по коменту. И это не очень хороший пример комента. Если комент и нужен, то не чтобы описать что и как мы делаем, это и так видно, а для чего мы это делаем. То есть не лучше имхо, а то же самое.
Дальше не смотрел.
И вообще там наверное половина про программирование, а не про Laravel.
Но в целом
alexeymezenin пишет:
точно будет пролезна новичкам, мидлам и некоторым сениорам.

именно пролезная))

(Отредактировано автором: 08 Ноября, 2017 - 19:30:06)

 
 Top
alexeymezenin
Отправлено: 08 Ноября, 2017 - 19:30:07
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2017  


Помог: 0 раз(а)




Цитата:
насколько помню оно AR? AR как бэ нарушает SRP. Модель не обязана знать откуда она берется итд итп.

Каким образом?

Цитата:
превращать Request в DTO...ну хз

В Laravel валидация входных данных (из форм и пр.) делается либо в контроллере (спагетти), либо в Request классе.

Цитата:
Надо писать самодокументируемый код, а не лепить на строчку по коменту.

Там ниже идет речь именно про самодокументируемый код.
 
 Top
alexeymezenin
Отправлено: 18 Ноября, 2017 - 10:39:19
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2017  


Помог: 0 раз(а)




Добавил мини статью о соглашениях об именовании классов, маршрутов и тд

(Отредактировано автором: 18 Ноября, 2017 - 12:26:39)

 
 Top
LIME
Отправлено: 18 Ноября, 2017 - 11:03:07
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Спорно
Чистый пиар себя любимого
Мое Имхо
(Добавление)
Не ответил на твой ответ потому как ты глупости написал
Не обижайся
Сам просил ревью
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB