基礎路由,就是基本的路由種類
GET路由
Route::get('/',function(){ //其中的/表示訪問網站主頁
return '后盾網 歡迎您';
});
//將其添加到 system/route.php 文件中
//當然,可以設置多條路由,比如再增加一條
Route::get('show', function(){
return 'Hello HDPHP';
});
1、路由目錄的設置,類似于觸發點。即當訪問此路徑時就按此路由進行處理。
2、按路由的路徑地址進行匹配處理。
3、GET路由,就是根據地址欄信息進行處理的一種方式,
3.1 路由地址為:/ 此時訪問location/index.php的都會被此路由處理
3.2 路由地址為:/a 此時訪問location/index.php/a 的都會被此路由處理
3.3 路由地址為:/a/c 此時訪問location/index.php/a/c 的都會被此路由處理
即,路由根據地址欄中的信息來匹配使用具體的路由;
如果地址欄是這樣的location?index.php/a/c 這樣就不會匹配GET路由
小結:
1、地址欄中,主文件后的路徑不能使用?而必須使用/
2、設置多個GET路由,每個路由的路徑各不相同,以路徑來匹配處理各類情況
1、路徑是最長匹配,即當檢測到地址欄中的'/show'就會匹配此,而不會匹配'/'。
* 2、關于參數
* 2.1 首先在路由中必須使用{var}來表明接收參數;
* 2.2 其次,可以使用{var?}來對是否有參數進行判斷;可以傳多個!
* 2.3 參數會被傳送到路由內部匿名方法的參數列表中。
* 2.4 參數傳遞:
* /var1/var2
* /var1_var2.html
* 3、關于視圖
* 3.1 在路由中同樣可以使用return View()來返回視圖。
* 3.2 View()方法中的參數也一樣,路徑、緩存時間
* 3.3 View()的查找路徑同樣從根目錄查找,但最終的查找路徑:/view
* 3.4 這個路徑是/system/config/view.php配置文件中第一行所決定的。
* 4、依賴注入
* 4.1 在路由中,靈活地將各類參數傳遞進來的方法。
* 4.2 首先,地址欄中傳入參數/show/{var1?}/{var2?}。
* route::get('/show/var1/var2',function($var1,$var2){});
* 4.3 其次,按地址傳遞參數.直接在匿名函數中使用類的路徑傳入對象實例
* route::get('/show,function(\app\demo $d);$d就是demo類的實例
* 5、路由控制器
* 5.1 route::get('/show','csmodel/index/index')這樣會路由到index方法
* 5.2 route::get('/show/{var1}_{var2}.html','csmodel/index/index')
* 這樣能傳遞兩兩參數到index方法中,方法參數列表中用同名變量接收
* 6、路由隱式控制器
* 6.1 route::controller('自定義此路由名','application/controller')
* 例:route::controller('user','csmodel/index');
* 6.1.1 當訪問/user時,再在其后加上要訪問當前控制器下的方法名/user/add
* 6.1.2 此方法名只是控制器中的方法的后綴,前綴可能是get/post即訪問方式
* 6.2 隱匿路由控制器的參數傳遞:以常規方式,get:?var1='x'&var2='y'.post方式
* 6.3 參數的接收:在方法中用get['var1']這種方式來接收
* 7、參數檢測
* 7.1 在route::get('/',function(){})后使用->where(正則表達式);對傳入的參數檢測
* 7.2 可以使用鏈式操作,對多個傳入參數進行檢測->whwre(1)->where(2)
* 7.3 可以使用數組形式對多個參數進行檢測->where([1,2]);
* 7.4 例
* route::get('/{var1}_{var2}.html',function($var1,$var2){})->
* 7.4.1 where('var1','[0-9]+')->where('var2','[a-z]+');
* 7.4.2 where(['var1'=>'[0-9]+','var2'=>'[a-z]+']);
* 7.4.3 第一參數只能是數字;第二個參數只能是小寫字母
* 7.4.4 '[0-9]+'正則表達式。
* 8、分組路由:具有相同路由器名的不同的方法就可以使用分組
* Route::group('prefix'='routeName',function(){
* Route::get('add',function(){});
* Route::get('save',function(){});
* })
* 訪問時使用: /routeName/add 這樣的形式來訪問
* 9、分組路由中的控制器
* 將控制器路由放到分組路由之中,通過
* 分組名/控制器路由名/方法名后綴 這樣的方法來訪問
* 10、可以創建獨立的路由文件,然后引入route.php文件之中。
* 11、資源路由,視頻67-70課,由于不能創建資源控制器所以,沒有實例