Penamaan Variabel Laravel merupakan salah satu hal yang perlu diperhatikan. Dalam pembuatan program, yang perlu diperhatikan adalah konsistensi dalam pembuatan nama literal, variabel maupun konstanta, termasuk juga penamaan fungsi atau method. Programmer dalam memulai bekerja dalam team harus menyepakati bagaimana memberikan nama pada masing-masing bagian dari program tersebut. Apabila memungkinkan, penggunaan penamaan yang sesuai dengan kesepakatan dari komunitas juga akan membantu pengembangan project, terutama apabila bersifat open source.

Berikut adalah kesepakatan pemberian nama Laravel dari komunitas untuk penamaan pada project web development, yang dikembangkan berdasarkan PSR standards:

Ketentuan Good Bad
Controller singular ArticleController ArticlesController
Route plural articles/1 article/1
Named route snake_case with dot notation users.show_active users.show-active, show-active-users
Model singular User Users
hasOne or belongsTo relationship singular articleComment articleComments, article_comment
All other relationships plural articleComments articleComment, article_comments
Table plural article_comments article_comment, articleComments
Pivot table singular model names in alphabetical order article_user user_article, articles_users
Table column snake_case without model name meta_title MetaTitle; article_meta_title
Model property snake_case $model->created_at $model->createdAt
Foreign key singular model name with _id suffix article_id ArticleId, id_article, articles_id
Primary key id custom_id
Migration 2017_01_01_000000_create_articles_table 2017_01_01_000000_articles
Method camelCase getAll get_all
Method in resource controller table store saveArticle
Method in test class camelCase testGuestCannotSeeArticle test_guest_cannot_see_article
Variable camelCase $articlesWithAuthor $articles_with_author
Collection descriptive, plural $activeUsers = User::active()->get() $active, $data
Object descriptive, singular $activeUser = User::active()->first() $users, $obj
Config and language files index snake_case articles_enabled ArticlesEnabled; articles-enabled
View kebab-case show-filtered.blade.php showFiltered.blade.php, show_filtered.blade.php
Config snake_case google_calendar.php googleCalendar.php, google-calendar.php
Contract (interface) adjective or noun Authenticatable AuthenticationInterface, IAuthentication
Trait adjective Notifiable NotificationTrait

Demikian beberapa penamaan variabel Laravel berdasarkan kesepakatan dari komunitas. Apabila programmer memutuskan menggunakan sistem penamaan yang berbeda, masih diperkenankan, namun sebaiknya konsisten dalam penggunaanya. Penamaan yang berbeda perlu dituangkan dalam dokumentasi pengembangan web agar dapat diikuti oleh seluruh anggota team yang berkolaborasi dalam mengembangkan project tersebut.

Semoga bermanfaat, salam Entrepreneur!

Referensi:

Laravel Best Practice

 

written by: SEW 20191104