Route :: auth()和命名空间

时间:2015-12-23 16:43:34

标签: laravel laravel-5 laravel-5.2

我使用make:auth创建了在基础应用程序中运行良好的登录脚手架。但是我正在创建一个包,所以我已经将文件移动到我的包中各自的位置。

我已将make:auth应用创建的路线命名为

Route::group(['middleware' => 'web'], function () {
    Route::auth();

    Route::get('/home', 'Package\Namespace\HomeController@index');
});

当我评论Route::auth();时,一切似乎都正常。当我保留Route::auth时出现错误

Class Auth\AuthController does not exist

我无法理解问题所在。我对auth()辅助函数知之甚少。

1 个答案:

答案 0 :(得分:8)

明显的错误......

Router.php auth()函数名称空间与默认的Controllers名称空间相关。

删除auth()函数并将所有命名空间路由添加到路径文件中当然可以解决这个问题

// Authentication Routes...
Route::get('login', 'App\Http\Controllers\Auth\AuthController@showLoginForm');
Route::post('login', 'App\Http\Controllers\Auth\AuthController@login');
Route::get('logout', 'App\Http\Controllers\Auth\AuthController@logout');

// Registration Routes...
Route::get('register', 'App\Http\Controllers\Auth\AuthController@showRegistrationForm');
Route::post('register', 'App\Http\Controllers\Auth\AuthController@register');

// Password Reset Routes...
Route::get('password/reset/{token?}', 'App\Http\Controllers\Auth\PasswordController@showResetForm');
Route::post('password/email', 'App\Http\Controllers\Auth\PasswordController@sendResetLinkEmail');
Route::post('password/reset', 'App\Http\Controllers\Auth\PasswordController@reset');
相关问题