很多工程師剛入門Laravel的時候,在命名檔案及class命名都會有很多疑問,到底怎樣才是好的命名?其實在前幾份工作中,看到有些工程師命名都有些特別,例如取一些跟專案無關的名稱或是取跟function內容無相關的名稱,其實真的是後續維護的人員的痛,無法輕易知道在幹嘛的,好像扯太遠了,但是在laravel只有幾套規則,注意一下其實很好上手。

Laravel 命名方式

Model 命明規則

Model使用英文單數

Model用字母首字大寫,大駝峰式命名(Upper Camel Case)

1
$ php artisan make:model Models/Member

路徑:專案 > app > Models

資料表(Migration)

路徑:專案 > database > migrations

資料表使用英文複數(s、es)

資料表用字母小寫,單字間用蛇底式命名(Snake Case)

1
$ php artisan make:migration create_members_table --create

透過以上執行指令,檔名

控制(Controllers)

路徑:專案 > app > Http > Controllers

類別名稱一律使用單數為主

HomeController.php

LoginController.php

SubjectController.php

路由(Routes)

路徑:專案 > routes

類別名稱一律使用單數為主

student.php

teacher.php

視介(Views)

路徑:專案 > resources > views

blade的模板、元件、頁面 的副檔名是以 .blade.php為命名。

index.blade.php

show.blade.php


什麼是駝峰式命名(camel case)?

  • 大駝峰式命名法(upper camel case)

    又稱帕斯卡命名法(Pascal Case),單字的首字母為大寫,例如:UserName、MemberName。

  • 小駝峰式命名法(lower camel case)

    第一個單字以小寫字母開始;第二個單字以後首字母大寫,例如:userName、memberName、memberInfoName。


什麼是蛇形式命名(snake case)?

  • 大蛇式(upper snake case)

    單字全大寫,並用 _(底線) 區隔。例如:USER_NAME、MEMBER_NAME。

  • 小蛇式(lower snake case):

    單字全小寫,並用 _(底線)區隔。例如:user_name 、member_name。


烤肉串式(kebab case)?

單字間使用 -(減號)區隔連接,單字全小寫,例如:member-info-name。


匈牙利命名法(Hungarian notation)

又稱HN命名法,由屬性、類型、描述組成名稱,前綴代表了變數的實際數據類型。例如:strName、intId。

結論

Laravel 命名方式大多都已單數為主,且可使用駝峰式、蛇行式等命名。

標籤: w3HexSchool PHP Laravel