包含上網爬文找了許多方法了
但還是一直顯示出Target class [UserAuthController] does not exist.
請問有甚麼方法可以解決嗎?
<?php
//檔案位置: app/Http/Controllers/User/UserAuthController.php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
class UserAuthController extends Controller{
public function signUpPage(){
$title = ["title"=>"打招呼"];
return view("auth.signUp", $title);
}
}
?>
Route::group(["prefix" => "user"], function(){
Route::group(["prefix" => "auth"], function(){
Route::get("/sign-up", "UserAuthController@signUpPage");
以下皆試過
\\Route::get("/sign-up", [UserAuthController::class,"signUpPage"])
\\Route::get("/sign-up", 'App\Http\Controllers\User\UserAuthController@signUpPage');
});
});
你的是Laravel 8嗎?
新版的跟舊版的不一樣,
新版的可以這樣子引用
use App\Http\Controllers\HomeController;
Route::group(['prefix' =>'home'], function(){
Route::get('/index', [HomeController::class, 'index']);
Route::post('/index', [HomeController::class, 'indexProcess']);
Route::get('/about', [HomeController::class, 'about']);
Route::get('/main', [HomeController::class, 'main']);
});
這個我今年的文章也會提到,
重點是前面需要use
所以是我第二段程式碼改成
use App\Http\Controllers\Uesr\UserAuthController;
Route::group(["prefix" => "user"], function(){
Route::group(["prefix" => "auth"], function(){
Route::get("/sign-up", [UserAuthController::class, "signUpPage"]);嗎
我試試看
有引用應該就可以用了.
use App\Http\Controllers\User\UserAuthController;
Route::group(["prefix" => "user"], function(){
Route::group(["prefix" => "auth"], function(){
Route::get("/sign-up", [UserAuthController::class,"signUpPage"])
});
});
一樣還是跑出
Target class [App\Http\Controllers\User\UserAuthController] does not exist.
找不到控制器
是用laravel 8 沒錯
有了ok了 應該是跟者網路上找的資料把一些設定改掉沒改回來
新建專案之後就可以了 謝謝
BB,請問有發現是什麼問題嗎?
我也是遇到這個問題,不過更離奇的是,我去另外一個專案處理完事情,過幾天再回來就出現這問題了 (丈二金剛摸不到後腦)
ㄜ... 問完自己就發現原因了 (丈二又摸到後腦了)
是我之前為了統一不同專案之間的寫法,忘了版本的問題
Laravel 5.8 應該寫成
Route::get('<api 路徑>', 'Api\AppController@getVersion');
而
Laravel 8 應該寫成
Route::get('<api 路徑>', 'App\Http\Controllers\Api\AppController@getVersion');