這篇文章主要介紹Laravel之路由請求方式、路由傳參的示例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
我們提供的服務有:成都網站建設、網站制作、微信公眾號開發(fā)、網站優(yōu)化、網站認證、禪城ssl等。為上1000+企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的禪城網站制作公司
//get請求方式 Route::get('user/show',function(){ return '世間安得兩全法,不負如來不負卿;萬般皆是命,半點不由人';}); //post請求方式 Route::post('edit',function(){ return '萬般皆是命,半點不由人';}); //多請求路由 Route::match(['get','post'],'user/register',function(){ return '多請求路由register';}); //任意請求 Route::any('user/wall'function(){ return '任意請求';});
//路由傳參,可傳多個參數 Route::get('user/{id}/{name}',function($id,$name){ return '路由傳參————'.$id.$name;}); //路由可選參數 Route::get('page/{page?}',function($page=1){ return 'page'.$page;});
//參數類型限制Route::get('choice/{id}/{name}',function($id,$name){ return 'choice參數類型限制'.$id.$name;})->where(['id'=>'\d+','name'=>'[a-zA-Z]+']);
注意,在項目路徑public下
修改虛擬主機配置文件,在apache添加如下代碼:
DocumentRoot "D:/xampp/htdocs/ host文件 127.0.0.1 ddd.com/public"ServerName ddd.com
路由簡介
1,簡單的說就是將用戶的請求轉發(fā)給相應的程序去處理
2,作用建立url和程序之間的映射
3,請求類型get,put,post,patch,delete等
任何框架都離不開路由器,TP是通過地址欄規(guī)則生成,如:xxx.com/home/user/add;
2.1 路由器如何調用控制器
laravel的路由器與控制器的關系,需要明確的在/routes/web.php
文件中明確定義.
格式如下 :
基礎路由/* 當用 GET 方式訪問 xx.com/yy 這個地址的時候用匿名函數去響應 . */Route::get('/yy', function(){return '123';});/* 當用 POST 方式訪問 xx.com/zz 這個地址時,用 匿名函數去響應 . */Route::post('/zz', function(){return '123';});/* 當 GET 訪問網站根目錄 "/" 時,用第2個參數的匿名函數去響應 . */Route::get('/', function () {return 'hello';})多請求路由/* 不管是GET還是POST方法,訪問 xx.com/user 時,都用 XxController 中的 method() 方法去響應 . */Route::match(['get','post'] , '/user' , 'XxController@method')/* GET,POST,PUT,DELETE.. 任何方法訪問 xx.com/test, 都用第2個參數中的匿名函數去響應 . */Route::any('/test', function () {return 'Hello World';});注意: 如果同一個路由被寫了2次 則以最后一次路由為準!
/* 下例是指 xx.com/user/123 這樣的 URL,user 后面的值將會捕捉到, 并自動傳遞給控制器的方法或匿名函數 */Route::get('user/{id}', function ($id) {return 'User '.$id;});/* 下例是指 xx.com/user/{name}/{id} 這樣的 URL,user 后的參數, 會被捕捉到 , 并自動傳遞給控制器的方法或匿名函數 */Route::get('user/{name}/{id}', function ($name, $id) {return 'user_'.$name.$id;});如果沒有傳遞參數,則會報錯;2.3 傳遞可選參數 在路由 參數 的花括號最后 加上 ?(問號) 即可 Route::get('user/{name?}', function ($name = null) {return $name;});Route::get('user/{name?}', function ($name = 'John') {return $name;});
在 TP 中,自動驗證寫在 Model 里,不夠靈活. laravel把參數限制寫在方法或者路由中.普通形式:->where('要限制的參數名','限制規(guī)則(正則,不用斜線//)');數組形式:->where(['要限制的參數名1'=>'限制規(guī)則1(正則,不用斜線//)','要限制的參數名2'=>'限制規(guī)則2(正則,不用斜線//)']);Route::get('user/{name}', function ($name) {//})->where('name', '[A-Za-z]+');Route::get('user/{id}', function ($id) {//})->where('id', '[0-9]+');Route::get('user/{id}/{name}', function ($id, $name) {//})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);注意 : 路由參數不能包含中橫線 "-",參數會被理解為變量名,所以不能有'-',下劃線是可以滴;
1、路由請求方式____文件路徑app->routes->web.php
//get請求方式Route::get('user/show',function(){ return '世間安得兩全法,不負如來不負卿;萬般皆是命,半點不由人';});//post請求方式 Route::post('edit',function(){ return '萬般皆是命,半點不由人';}); //多請求路由Route::match(['get','post'],'user/register',function(){ return '多請求路由register';});//任意請求Route::any('user/wall'function(){ return '任意請求';});
//路由傳參,可傳多個參數Route::get('user/{id}/{name}',function($id,$name){ return '路由傳參————'.$id.$name;});//路由可選參數Route::get('page/{page?}',function($page=1){ return 'page'.$page;});
//參數類型限制Route::get('choice/{id}/{name}',function($id,$name){ return 'choice參數類型限制'.$id.$name;})->where(['id'=>'\d+','name'=>'[a-zA-Z]+']);
注意,在項目路徑public下
修改虛擬主機配置文件,在apache添加如下代碼:
DocumentRoot "D:/xampp/htdocs/ host文件 127.0.0.1 ddd.com/public"ServerName ddd.com
路由簡介
1,簡單的說就是將用戶的請求轉發(fā)給相應的程序去處理
2,作用建立url和程序之間的映射
3,請求類型get,put,post,patch,delete等
任何框架都離不開路由器,TP是通過地址欄規(guī)則生成,如:xxx.com/home/user/add;
2.1 路由器如何調用控制器
laravel的路由器與控制器的關系,需要明確的在/routes/web.php
文件中明確定義.
格式如下 :
基礎路由/* 當用 GET 方式訪問 xx.com/yy 這個地址的時候用匿名函數去響應 . */Route::get('/yy', function(){return '123';});/* 當用 POST 方式訪問 xx.com/zz 這個地址時,用 匿名函數去響應 . */Route::post('/zz', function(){return '123';});/* 當 GET 訪問網站根目錄 "/" 時,用第2個參數的匿名函數去響應 . */Route::get('/', function () {return 'hello';})多請求路由/* 不管是GET還是POST方法,訪問 xx.com/user 時,都用 XxController 中的 method() 方法去響應 . */Route::match(['get','post'] , '/user' , 'XxController@method')/* GET,POST,PUT,DELETE.. 任何方法訪問 xx.com/test, 都用第2個參數中的匿名函數去響應 . */Route::any('/test', function () {return 'Hello World';});注意: 如果同一個路由被寫了2次 則以最后一次路由為準!
/* 下例是指 xx.com/user/123 這樣的 URL,user 后面的值將會捕捉到, 并自動傳遞給控制器的方法或匿名函數 */Route::get('user/{id}', function ($id) {return 'User '.$id;});/* 下例是指 xx.com/user/{name}/{id} 這樣的 URL,user 后的參數, 會被捕捉到 , 并自動傳遞給控制器的方法或匿名函數 */Route::get('user/{name}/{id}', function ($name, $id) {return 'user_'.$name.$id;});如果沒有傳遞參數,則會報錯;2.3 傳遞可選參數 在路由 參數 的花括號最后 加上 ?(問號) 即可 Route::get('user/{name?}', function ($name = null) {return $name;});Route::get('user/{name?}', function ($name = 'John') {return $name;});
在 TP 中,自動驗證寫在 Model 里,不夠靈活. laravel把參數限制寫在方法或者路由中.普通形式:->where('要限制的參數名','限制規(guī)則(正則,不用斜線//)');數組形式:->where(['要限制的參數名1'=>'限制規(guī)則1(正則,不用斜線//)','要限制的參數名2'=>'限制規(guī)則2(正則,不用斜線//)']);Route::get('user/{name}', function ($name) {//})->where('name', '[A-Za-z]+');Route::get('user/{id}', function ($id) {//})->where('id', '[0-9]+');Route::get('user/{id}/{name}', function ($id, $name) {//})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);注意 : 路由參數不能包含中橫線 "-",參數會被理解為變量名,所以不能有'-',下劃線是可以滴;
以上是“Laravel之路由請求方式、路由傳參的示例”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!