web-dev-qa-db-ja.com

クラスApp \ Http \ Controllers \ Auth \ LoginControllerがlaravel 5.3に存在しません

Laravel 5.3、

次に、Controller/Auth/[files]を次の場所に移動しました:

管理者:Controller/Admin/Auth/[files]

サイト:Controller/Site/Auth/[files]

コマンドラインにphp artisan route:listと入力し、

次のエラーが表示されます:

クラスApp\Http\Controllers\Auth\LoginControllerは存在しません

私の問題はどこにありますか?

8
user6944367

_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');
});
_
10
Jaymin Panchal

コントローラをカスタムディレクトリに移動する場合は、認証ルートを使用しないでください。したがって、これをroutesファイルから削除します。

5.2を使用している場合

Route::auth();

5.3を使用している場合

Auth::routes();

そして、認証ルートを手動で構築します。

1
Alexey Mezenin

フレームワークで提供される2つのデフォルト認証コントローラーは、4つの小さなコントローラーに分割されました。アプリケーションを新しい認証コントローラーにアップグレードする最も簡単な方法は、GitHubから各コントローラーの新しいコピーを取得して、アプリケーションに配置することです。

https://github.com/laravel/laravel/tree/5.3/app/Http/Controllers/Auth

また、routes/web.phpファイルでAuth :: routes()メソッドを呼び出していることを確認する必要があります。このメソッドは、新しい認証コントローラーの適切なルートを登録します。

Laravelアップグレードドキュメントからこの回答を貼り付けました。

1
Rogier Wijsman

それは今私と一緒に起こり、私は別の方法でそれを解決しました

Authフォルダーをコピーして、Admin Controllersフォルダーのパスに入れるだけです

各ファイルを開いて変更する

namespace App\Http\Controllers\Auth;

To

名前空間App\Http\Controllers\Dashboard\Auth;

それが誰かを助けることを願って

0
Mohammed Bayomy

こんにちはあなたのルート/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');
0
Niket Joshi