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]+');
结果