Cách đặt tên trong laravel
1. Đặt tên controller/model
- đặt tên file cho model và controller giống nhau, đều ở dạng CapitalCase/PascalCase. Tên đặt phải ở dạng số ít , viết hoa chữ cái đầu , không có khoảng cách và nếu đặt tên cho controller thì nên kết thúc bằng đuôi "Controller"
ví dụ: ProductController
, Product
, User
- Đặt tên phương thức trong controller
- các phương thức để thực hiện CRUD nên đặt theo tên phương thức định sẵn trong laravel. có thể thêm đuôi
--resource
trong khi tạo file controller ở terminal để tự động tạo ra các phương thức thương ứng để thực hiện thêm, sửa, xóa cơ bản ...
=> khi đó sẽ tạo ra các method nhưindex,store, create, update,edit,destroy
2. Đặt tên Database trong laravel
2.1 Đặt tên bảng
- đặt tên ở dạng chữ thường, có dấu gạch dưới để phân cách chữ cái và phải ở dạng số nhiều (snake case)
ví dụ: categories , products , uploaded_images,...
2.2 Đặt tên cột
- tên đặt phải viết thường , phải ở dạng snake_case và là số ít
2.3 Đặt tên khóa chính / khóa ngoại
- nếu là khóa chính sẽ đặt là
id
- còn khóa ngoại sẽ thêm
_id
ví dụ:product_id
,category_id
, ...
3. Đặt tên biến
- tên biến sẽ đặt thường ở dạng CamelCase. Cụ thể là ký tự đầu tiên là chữ thường , ký tự bắt đầu ở chữ tiếp theo là chữ hoa
ví dụ:users
,totalCount
,itemPrice
, ...
4. Đặt tên Route trong laravel
- Dùng tên rõ ràng và mô tả: Đặt tên sao cho nó mô tả mục đích hoặc chức năng của route. Sử dụng tên rõ ràng và dễ hiểu để giúp người đọc review code
- Sử dụng phong cách đặt tên thống nhất
- Tránh sử dụng ký tự đặc biệt và dấu cách: Tên route nên chỉ bao gồm chữ cái, số, dấu gạch dưới (_) hoặc dấu gạch ngang (-) mà không sử dụng các ký tự đặc biệt hoặc dấu cách.
- Chú ý đến sự nhất quán: Đảm bảo rằng các route trong dự án của bạn có tên đặt theo một quy tắc nhất quán để dễ dàng quản lý và bảo trì mã nguồn.
- Kiểm tra trùng tên: Đảm bảo rằng không có trùng lặp tên route trong dự án của bạn. Trong laravel yêu cầu tên route là duy nhất.
Ví dụ:
Route::get('/profile', [ProfileController, 'index'])->name('profile.index');
// Sử dụng snake_case
Route::get('/user-profile', [ProfileController, 'index'])->name('profile.index');