對許多laravel的初學者而言,Laravel的命名系統常常搞不清楚(我自己就是這樣)。到底Model的名字字首是要大寫還是小寫?單數還是複數?駝峰還是底線?那資料表的命名規則、controllar…的命名規則又是如何呢?

這些命名規則不見得會影響到程式的運作,但是,一個好的命名習慣,可以幫助自己或別人以後再進行城市維護的時候,可以很快地進入狀況,並且找出問題來。

因此,決定好好來徹底研究一下。讓我們一起來弄懂這些規則,希望大家以後都可以依照規範命名喔!

基本命名

以下就以要新增一個book reviews的Model為例說明。切記,所有的命名都使用「英語」,切物使用中文或其他與言。

使用時機單數、複數大、小駝峰或蛇底式範例
Model單數大駝峰BookReview
資料表名稱複數全小且蛇底book_reviews
Migration複數檔名:日期時間+蛇底
class名稱:大駝峰
檔名:yyyy_mm_dd_time_create_book_reviews.php
class名稱:CreateBookReviewsTable
Controller單數+controller大駝峰BookReviewController
Seeder單數+Seeder大駝峰BookReviewSeeder
Factory單數+Factory大駝峰BookReviewFactory

附註:如果你有資料表的名稱和Model不同時,記得在model裡面加入設定:protected $table = ‘books_rivews’;

Blade 命名與一致性的問題

在Blade和Controller的命名上,最好參考laravel手冊中的建議,讓route命名與blade的存放資料夾具有一致性。

例如,下面是Photo的controller (取自laravel手冊),對訂的blade就都放在photo的資料夾裡面。

VerbURIActionRoute Name
GET/photosindexphotos.index
GET/photos/createcreatephotos.create
POST/photosstorephotos.store
GET/photos/{photo}showphotos.show
GET/photos/{photo}/editeditphotos.edit
PUT/PATCH/photos/{photo}updatephotos.update

其他命名規則參考

如果以其他的命名規則請安考 PSR-12標準。完整的PSR-12標準可以參考:
https://www.php-fig.org/psr/psr-12/

另外,這一篇文章也說明了為什麼我們需要遵守標準來寫程式碼,直得推薦大家一看。這一篇文章裡面也有教大家,如何使用phpStorm將你的程式碼格式化,值得參考。
Why We Need Standards and How to Apply Them

以上就是今天的介紹,希望大家都可以寫出乾乾淨淨的程式碼。

參考影片: