這篇文章主要介紹了關於laravel的路由(router)圖文詳解,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
laravel的路由(router)圖文詳解
laravel基礎的路由:
在/routes/web.php裡面, 寫一個
Route::get('/hello',function(){ return 'hello , can you hear me ?';});
然後就能在瀏覽器裡
postman也可以直接看到
原文:
我們先試一下調用控制器:
Route::get('/menu','Menu\MenuIndexController@index');
這就是直接get請求發送about, 調用StaticPagesController控制器的about方法
<?phpnamespace App\Http\Controllers\Menu;//修改命名空間use App\Http\Controllers\Controller;//引用基礎controlleruse Illuminate\Http\Request;class MenuIndexController extends Controller{ // public function index(){ return view('menu/index'); }}
跳轉到view:
@extends('layouts.default')@section('content')<h5>菜單頁</h5>@stop@section('title','菜單頁')
瀏覽器效果:
定義在routes/api.php檔案中的路由通過app/Providers/RoutesServiceProvider的處理被嵌套在一個路由中介軟體組中, 在這個路由中介軟體組中, 所有路由會被自動添加/api首碼, 所以你不需要再到路由檔案中為每個路由手動添加, 你可以通過編輯RouteServiceProvider類來修改路由首碼以及其他的路由中介軟體組選項;
這一坨就別去改動了, 底層的東西改了不知道會發生什麼神奇的事情;
有時候還需要註冊一個路由響應多種 HTTP 要求動作 —— 這可以通過 match 方法來實現。或者,可以使用 any 方法註冊一個路由來響應所有 HTTP 要求動作:
Route::match(['get','post'],'returnReturn','Menu\MenuIndexController@returnReturn');Route::any('returnAny','Menu\MenuIndexController@returnAny');
路由重新導向:
如果需要定義一個重新導向到其他URI路由, 可以使用Route::redirect
Route::redirect('motherfucker','menu',301);
瀏覽器輸入motherfucker就會蹦到menu;
301是一個狀態代碼,預設301,原文:
當然還有需要直接跳轉到視圖層(view), 然後其餘資料(maybe whole data)都由api提供擷取, 那麼直接跳到視圖的路由是這麼玩的:
Route::view('staticView','static_pages/staticView');
注意, 這裡的static_pages/staticView是用的正斜杠, 反斜線會報錯說can not found static_pages\staticView;
靜態頁面位於:
瀏覽器直接存取效果:
當然還有另外一種騷操作, 就是Route::view傳遞第三個參數, 用於視圖中的資料渲染
Route::view('staticViewData','static_pages/staticViewData',['name'=>'jack','like'=>'money']);
傳遞過去的數組自然就是['name'=>'jack','like'=>'money'],
頁面上用法:
@extends('layouts.default')@section('content')<h2>this is static view data</h2>{{$name}} likes {{$like}} @stop()@section('title','static view data')
然後瀏覽器效果:
當然了你要皮, 那自然是不可以的:
Route::view('staticViewData','static_pages/staticViewData',['name'=>'jack','like'=>'money','jump'=>'<a href="/about">']);
原始碼會把標籤給當作普通文字解析, 前後加上< &rt;