You are here
Home > !Laravel > namespaceを指定してroutesすっきり

namespaceを指定してroutesすっきり

以前、マルチ認証の説明で以下のような、routes.phpを掲載しました(ユーザー認証(10)Laravel 5.2 マルチ認証)。

   Route::group(['middleware' => 'guest:users'], function()
    {
        Route::get('login', 'user\AuthController@getLogin');
        Route::post('login', 'user\AuthController@postLogin');
        Route::get('signup', 'user\SignupController@getSignup');
        Route::post('signup', 'user\SignupController@postSignup');
        Route::get('password/email', 'user\PasswordController@getEmail');
        Route::post('password/email', 'user\PasswordController@postEmail');
        Route::get('password/reset/{token}', 'user\PasswordController@getReset');
        Route::post('password/reset', 'user\PasswordController@postReset');
    });

ここ、user\AuthControllerとか、user\SignupControllerとか、namespaceのuser\がいつも繰り返されていて、面倒だなあと思いませんでしたか?

賢くなるものです。最近、ここnamespaceを使用して、user\を削除することが可能なこと見つけました。

   Route::group(['middleware' => 'guest:users', 'namespace' => 'user'], function()
    {
        Route::get('login', 'AuthController@getLogin');
        Route::post('login', 'AuthController@postLogin');
        Route::get('signup', 'SignupController@getSignup');
        Route::post('signup', 'SignupController@postSignup');
        Route::get('password/email', 'PasswordController@getEmail');
        Route::post('password/email', 'PasswordController@postEmail');
        Route::get('password/reset/{token}', 'PasswordController@getReset');
        Route::post('password/reset', 'PasswordController@postReset');
    });

すっきりしましたね。

また、php artisan route:listの実行でrouteをチェックしても、変更の前後ではまったく変わりません。

Leave a Reply

Top