laravel路由基础说明

版本laravel 5.5 

Route::get('/', function () {
    return view('welcome');
});

//get路由 访问:www.abc.com/public/hello 或者  www.abc.com/server.php/hello
Route::get('hello',function(){
    return "这个一个GET到简单路由 Hello Word!";
});

//match 多请求路由 访问:www.abc.com/public/matchurl 或者  www.abc.com/server.php/matchurl
Route::match(['get','post'],'matchurl',function(){
    return '这是一个多请求路由,可以设置GET、POST等请求类型等';
});

//any 所有路由请求 访问:www.abc.com/public/anyurl 或者  www.abc.com/server.php/anyurl
Route::any('anyurl',function(){
    return '任何请求路由';
});

//通过POST来提交路由,非URL请求
Route::post('dopost',function(){
    return '这是一个POST路由';
});

//路由有传递到参数
Route::get('canshu/{id}',function($id){
    return '传参路由,你传的参数为:'.$id;
});

//路由有传递到参数带默认值,带正则表达式限制字符
Route::get('canshu01/{name?}',function($name = 'sean'){
    return '传递到参数带默认值,正则表达式限制字符,你传的字符(不能为数字)参数为:'.$name;
})->where('name', '[A-Za-z]+');

//路由多参,多默认值,多正则表达式
Route::get('canshu02/{id}/{name?}',function($id,$name = 'sean'){
    return '路由多参,多默认值,多正则表达式,你传到第一个数字参数为:'.$id.',你传到具有默认值的参数为:'.$name;
})->where(['id' => '[0-9]+', 'name' => '[A-Za-z]+']);

//路由别名 好处是改来路径,那么用别名调用时也会变,容易维护 as后为别名
Route::get('bieming/members',['as'=>'memb',function(){
    return '这个是一个路由别名,当前到 URL为:'.route('memb');
}]);

//路由群组
Route::group(['prefix' => 'qunzu'],function(){
    // 访问:www.abc.com/public/qunzu/u/center 或者  www.abc.com/server.php/qunzu/u/center
    Route::get('u/center',['as'=>'cent',function(){
        return '这是访问群组路由时到结果:'.route('cent');
    }]);
    
    // 访问:www.abc.com/public/qunzu/anyurl 或者  www.abc.com/server.php/qunzu/anyurl
    Route::any('anyurl',function(){
        return '这是访问群组路由时到结果,简单的any';
    });
});

//输出视图路由 访问:www.abc.com/public/qunzu/shitu 或者  www.abc.com/server.php/qunzu/shitu
Route::get('shitu', function () {
    return view('welcome');
});

//控制器位置:app\Http\Controllers\下创建控制文件 MemberController.php,创建类 class MemberController extends Controller
//模板根位置:resources\views\
//模型根位置:app\
//路由和控制器关联,然后访问 以下两种方式结果相同
Route::get('member/info','MemberController@info'); // MemberController@info:表示控制器类名@控制器内方法函数
Route::get('member/info2',['as'=>'memberinfo','uses'=>'MemberController@info']);//路由起来别名,不起则删掉
Route::get('member/showview','MemberController@showview');//调用视图处理
Route::get('member/showmode','MemberController@showmode');//控制器方法内调用来模型
Route::get('member/dodb','MemberController@dodb');//控制器操作数据库
Route::get('member/querys','MemberController@querys');//控制器操作数据库之查询构造器


//路由和控制器关联,带参数且参数具有正则表达式限制
Route::get('member-cs/{id}',['uses'=>'MemberController@infos'])->where('id','[0-9]+');

 

posted @ 2017-10-01 01:45  微特人生  阅读(221)  评论(0编辑  收藏  举报