Laravel 5.3、
次に、Controller/Auth/[files]
を次の場所に移動しました:
管理者:Controller/Admin/Auth/[files]
&
サイト:Controller/Site/Auth/[files]
コマンドラインにphp artisan route:list
と入力し、
次のエラーが表示されます:
クラスApp\Http\Controllers\Auth\LoginControllerは存在しません
私の問題はどこにありますか?
_web.php
_のすべてのAuth
ルートを手動で定義し、Auth::routes()
を削除する必要があります。
すべてのルートを次のように定義するだけです。
_Route::group(['namespace' => 'Admin', 'prefix' => 'admin'], function () {
Route::get('/', 'Auth\LoginController@showLoginForm');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout');
});
_
コントローラをカスタムディレクトリに移動する場合は、認証ルートを使用しないでください。したがって、これをroutesファイルから削除します。
5.2を使用している場合
Route::auth();
5.3を使用している場合
Auth::routes();
そして、認証ルートを手動で構築します。
フレームワークで提供される2つのデフォルト認証コントローラーは、4つの小さなコントローラーに分割されました。アプリケーションを新しい認証コントローラーにアップグレードする最も簡単な方法は、GitHubから各コントローラーの新しいコピーを取得して、アプリケーションに配置することです。
https://github.com/laravel/laravel/tree/5.3/app/Http/Controllers/Auth
また、routes/web.phpファイルでAuth :: routes()メソッドを呼び出していることを確認する必要があります。このメソッドは、新しい認証コントローラーの適切なルートを登録します。
Laravelアップグレードドキュメントからこの回答を貼り付けました。
それは今私と一緒に起こり、私は別の方法でそれを解決しました
Authフォルダーをコピーして、Admin Controllersフォルダーのパスに入れるだけです
各ファイルを開いて変更する
namespace App\Http\Controllers\Auth;
To
名前空間App\Http\Controllers\Dashboard\Auth;
それが誰かを助けることを願って
こんにちはあなたのルート/web.phpを確認してください
/* For get login page*/
Route::get('/login', function () {return view('auth.login');});
/* while post remember to user Auth\controllername so you can get the perfect path for the custom login */
Route::post('/login', 'Auth\LoginController@authentication')->name('login');