Может войдёшь?
Черновики Написать статью Профиль

«Best practices»

Хорошие практики Laravel: соглашения об именовании

Best practices Хорошие практики

Эта статья - попытка собрать в одном месте все существующие на данный момент соглашения об именовании, гласно или негласно принятые сообществом Laravel. Я решил собрать всю информацию в виде удобной таблицы, актуальную версию которой вы всегда сможете найти здесь.

Что Правило Принято Не принято
Контроллер ед. ч. ArticleController ArticlesController
Маршруты мн. ч. articles/1 article/1
Имена маршрутов snake_case users.show_active users.show-active, show-active-users
Модель ед. ч. User Users
Отношения hasOne и belongsTo ед. ч. articleComment articleComments, article_comment
Все остальные отношения мн. ч. articleComments articleComment, article_comments
ivanbcde

Как может фреймворк рекомендовать именование таблиц БД?

А если уже существует БД именование в которой отличается от указанного выше,
то нарушать best practices?

Как называть таблицы и поля не может рекомендовать PHP-фреймворк.

Это сомнительно! Однако название очень кричащее и много на себя берущее!

Хорошие практики Laravel: принцип единственной ответственности (Single Responsibility Principle)

Best practices Хорошие практики

Небольшое вступление

В мире Laravel существует очень серьезная, на мой взгляд, проблема. Laracasts, книги, видео туториалы, статьи и даже документация показывают нам использование плохих практик. Понятно, что делается это для популяризации фреймворка, снижая порог вхождения для новичков. Действительно, благодаря такому подходу, человек может написать работающее веб приложение при минимальных усилиях. И это хорошо. Плохо то, что разработчик продолжает писать низкокачественный код даже в сложных приложениях, в результате чего они порой становятся абсолютно неподдерживаемыми. Это значит, что любое изменение функционала в таком приложении занимает в разы, а иногда и в десятки раз больше времени разработчика и, соответственно, денег клиента. Также, эти…

mastershifu

Все проблемы изза того что новички не знают что в приложении может быть несколько точек входа, например REST или консоль.
Вот и пишут всю логику в веб контроллере.
А когда придется написать еще API для какого нибудь мобилного приложения всю бизнес логику в веб контроллере надо будет скопипастить и в REST контроллеры.
Можете подумать «скопировать несколько строк? пф, проще простого». Но проблемо то не в копировании.
Проблемы начнутса когда современем бизнес логика начинает меняться и вам придется во всех точках доступа менять ваш код.

← Назад | Дальше → Движется на Habravel