laravel-best-practices icon indicating copy to clipboard operation
laravel-best-practices copied to clipboard

What is the naming convention for routes with multiple words

Open glupeksha opened this issue 4 years ago • 9 comments

is it Route::resource('master-products','MasterProductController') or Route::resource('masterProducts','MasterProductController')?

glupeksha avatar Oct 13 '20 04:10 glupeksha

dashes are fine convention for 'all lower cases' in url string. You can combine dashes and slashes to separate those words by their nature. For example, if you have resource controller and want to add additional route

Route::post('product-details/fetch', 'ProductDetailController@fetch')->name('product_details.fetch');
Route::resource('product-details', 'ProductDetailController');

This way you are following convention of already meant resource routes.

Tpojka avatar Oct 13 '20 05:10 Tpojka

@upeksha1996 go with master-products. https://restfulapi.net/resource-naming/

alexeymezenin avatar Oct 13 '20 09:10 alexeymezenin

Thank you so much for replies.. Can you also please let me know whether there is a naming convention for view folders? whether the respective folder for the MasterProductController is better to be masterProducts, master-products, master_products?

glupeksha avatar Oct 25 '20 15:10 glupeksha

I use underscored variant with addition that it is singular in my case. So MasterProductController relates with views/master_product directory.

Tpojka avatar Oct 25 '20 16:10 Tpojka

I guess both underscored and camelCase are ok since you can select view names by using double-click in most IDEs.

alexeymezenin avatar Oct 29 '20 18:10 alexeymezenin

In the laravel documentation, I found out kebab case also.

Route::get('/forgot-password', function () {
    return view('auth.forgot-password');
})->middleware(['guest'])->name('password.request');

glupeksha avatar Oct 30 '20 18:10 glupeksha

In the laravel documentation, I found out kebab case also.

Route::get('/forgot-password', function () {
    return view('auth.forgot-password');
})->middleware(['guest'])->name('password.request');

I like to use underscored formations in PHP because it cut off technical debt if in future I have to name variables by it (directory name in this case). Same for PHP, JS or DB (MySQL that I use) having variables can be with underscores but can't with dash. This way I just remove unnecessary limitation. Consider you want for some reason to extend DB and you find yourself in need to create table by concrete directory (these are hypothetical presumptions). It is good to have some string in name that you can easily manage to create variable name from it or to have well consistency between names. This can be broad thinking and it is actually the same for PHP: whether it is - whether _ but for developer's future use it's easier to be _ imho.

Tpojka avatar Nov 02 '20 13:11 Tpojka

@alexeymezenin what do you think?

glupeksha avatar Nov 03 '20 12:11 glupeksha

@upeksha1996 I don't think there is a convention. I saw a lot of different name styles for views in real-life projects and packages.

alexeymezenin avatar Nov 03 '20 16:11 alexeymezenin