2.1 laravel中的路由
在app/http/routers.php可寫以下操作
主要有:get post any match group
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', function () {
return view('welcome');
});
//get請求,基礎路由
Route::get('basic1',function(){
return 'hello';
});
#post請求
Route::post('basic2',function(){
return 'hello11';
});
//多請求路由
Route::match(['get','post'],'multy1',function(){
return 'multy1';
});
#響應全部請求
Route::any('multy2',function(){
return 'multy2';
});
//路由參數
Route::get('user/{id}',function($id){
return 'hello'.$id;
});
#參數可選
Route::get('user/{name?}',function($name = null){
return 'hello name'.$name;
});
#默認參數
Route::get('user/{name?}',function($name = 'sss'){
return 'hello name'.$name;
});
#使用表達式
Route::get('user/{name?}',function($name = 'sss'){
return 'hello name'.$name;
})->where('name','[A-Za-z]+');
#多個參數傳參,並驗證
Route::get('user/{id}/{name?}',function($id,$name = 'sss'){
return 'hello name:'.$name.' + aa:'.$id;
})->where(['name'=>'[A-Za-z]+','id'=>'[0-9]+']);
//路由別名
Route::get('user',['as'=>'c',function($id=null,$name = 'sss'){
return Route('c');
}])->where(['name'=>'[A-Za-z]+','id'=>'[0-9]+']);
//路由羣組
Route::group(['prefix'=>'member'],function (){
Route::get('user',['as'=>'c',function($id=null,$name = 'sss'){
return Route('c');
}])->where(['name'=>'[A-Za-z]+','id'=>'[0-9]+']);
Route::any('multy2',function(){
return '--multy2';
});
});
//路由中輸出視圖
Route::get('view', function () {
return view('welcome');
});
});
2.2控制器與路由
在app\http\controller 新建MemberController.php
namespace App\Http\Controllers;
class MemberController extends Controller {
public function info($id){
return 'member-info:'.$id;
// return route('memberinfo');
}
}
在app\http\routes.php
#訪問控制器的兩種方法
//Route::get('member/info','MemberController@info');
//Route::any('member/info',['uses'=>'MemberController@info']);
#使用別名訪問控制器
//Route::any('member/info',[
// 'uses'=>'MemberController@info',
// 'as'=>'memberinfo',
//]);
#傳參到控制器
Route::get('member/info/{id}','MemberController@info')
->where('id','[0-9]+');
結果:
註釋部分也可以嘗試一下哦!!!
2.2控制器與視圖
app\http\controller\MemberController.php
namespace App\Http\Controllers;
class MemberController extends Controller {
public function info($id){
// return 'member-info:'.$id;
// return route('memberinfo');
return view('member/info',[
'name' =>'my name is lily',
]);
}
}
Resources\views\member\info.blade.php
{{$name}}
app\http\routes.php
Route::get('member/info/{id}','MemberController@info')
->where('id','[0-9]+');
結果