您好,登錄后才能下訂單哦!
這篇“laravel8中的路由怎么加載”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“laravel8中的路由怎么加載”文章吧。
在Laravel的早期版本中,RouteServiceProvider包含一個$namespace屬性。該屬性的值將自動添加到控制器路由定義和對actionhelper /方法的調用之前。
在Laravel 8.x中,默認情況下為此屬性。這意味著Laravel不會自動命名空間前綴。因此,在新的Laravel 8.x應用程序中,應使用標準的PHP可調用語法定義控制器路由定義:URL::actionnull
被注釋掉了。
所以在laravel8中加載路由需要加上命名空間,如下。
use App\Http\Controllers\Admin\AdminController; Route::get('/admin', [AdminController::class, 'index']);
或者也可以
use App\Http\Controllers\Admin; # 注:這里第二個參數是數組 Route::get('/admin', [Admin\AdminController::class, 'index']);
如果是資源路由,則要:
# 注意這里第二個參數是類,字符串,不要傳數組 Route::resource('/admin', Admin\AdminController::class);
對action相關方法的調用應使用相同的可調用語法:
action([Admin\AdminController::class, 'index']); return Redirect::action([Admin\AdminController::class, 'index']);
如果您更喜歡Laravel 7.x樣式控制器的路由前綴,則可以簡單地將$namespace屬性添加到應用程序的中RouteServiceProvider。
路徑為:
app/Providers/RouteServiceProvider.php
找到該文件,將被注釋的一行代碼取消注釋即可使用之前版本的自動載入命名空間的寫法。29行
// protected $namespace = 'App\\Http\\Controllers';
以上就是關于“laravel8中的路由怎么加載”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。