Эта статья - попытка собрать в одном месте все существующие на данный момент соглашения об именовании, гласно или негласно принятые сообществом 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 | …
Небольшое вступление
В мире Laravel существует очень серьезная, на мой взгляд, проблема. Laracasts, книги, видео туториалы, статьи и даже документация показывают нам использование плохих практик. Понятно, что делается это для популяризации фреймворка, снижая порог вхождения для новичков. Действительно, благодаря такому подходу, человек может написать работающее веб приложение при минимальных усилиях. И это хорошо. Плохо то, что разработчик продолжает писать низкокачественный код даже в сложных приложениях, в результате чего они порой становятся абсолютно неподдерживаемыми. Это значит, что любое изменение функционала в таком приложении занимает в разы, а иногда и в десятки раз больше времени разработчика и, соответственно, денег клиента. Также, эти…
Как может фреймворк рекомендовать именование таблиц БД?
А если уже существует БД именование в которой отличается от указанного выше,
то нарушать best practices?
Как называть таблицы и поля не может рекомендовать PHP-фреймворк.
Это сомнительно! Однако название очень кричащее и много на себя берущее!