![](/img/trans.png)
[英]Can I use same name for get and post method in a controller in laravel
[英]Can I use same controller name 2 or more times in laravel?
我在 laravel 8 項目的 2 個不同文件夾中有相同的控制器名稱(假設 Login.php)。 在路由中,如果我以下列方式使用它們,它會顯示錯誤。
use App\Http\Controllers\my_controller1\Login;
use App\Http\Controllers\my_controller2\Login;
錯誤看起來像
Symfony\\Component\\ErrorHandler\\Error\\FatalError
不能使用 App\\Http\\Controllers\\my_controller2\\Login 作為登錄名,因為該名稱已被使用
如果我按以下方式使用,它不會顯示錯誤:
use App\\Http\\Controllers\\my_controller1\\Login;
和
Route::get('/loginA',[App\Http\Controllers\my_controller2\Login::class,'abc']);
Route::get('/loginB',[Login::class,'abc']);
注意:文件夾和控制器名稱僅用於假設。
有 2 種不同的 use 語句。
use App\\Http\\Controllers\\my_controller1\\Login;
並use App\\Http\\Controllers\\my_controller2\\Login;
如果您在同一個文件中同時使用它們,您將需要為其中之一取別名。
use App\Http\Controllers\my_controller2\Login as Login2;
你可以通過像這樣導入它們來給它們不同的名字
use App\Http\Controllers\my_controller1\Login as Login1;
use App\Http\Controllers\my_controller2\Login as Login2;
但是,不應該需要兩個具有相同名稱的控制器,因為這表明它們負責相同的事情並且可能可以合並。
另外,你的命名似乎有點不對; 考慮使用駝峰命名為文件夾名稱(例如\\customControllers\\
而不是\\my_controller1\\
)和命名控制器LoginController
而不是Login
only( 參見 Laravel 的命名約定)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.