品易云推流 关闭
文章详情页
文章 > PHP教程 > php中Laravel定义路由

php中Laravel定义路由

头像

小妮浅浅

2021-01-27 09:26:074906浏览 · 0收藏 · 0评论

路由能够对访问进行优化,所以在各个框架中都会有所涉及。在Laravel框架中也可以使用路由来进行操作,不过我们要先对路由进行定义。这里整理了两种方法:get方式、info方法。接下来我们就定义路由的方法进行详细的代码讲解,在完成对路由设置的同时,还可以尝试相关的使用。

1.get方式

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

好处是把回调的实现和使用场所隔离,这段代码是意思是,当get方式访问根目录时返回welcome视图

2.info方法

Route::get('admin/info','Admin\IndexController@info');

访问http://your-app.dev/admin/info时,调用命名空间Admin下的IndexController控制器里的info方法。这样写是不是麻烦,所以有了路由组,统一指定中间件,前缀和命名空间。

3.使用路由

//在浏览器直接访问,跳转到welcome视图,视图路径在public/resources/views/
Route::get('/', function () {
    return view('welcome');
});
 
//在浏览器直接访问,返回hello world
Route::get("route1", function () {
    return "hello world";
});
 
//因为是post请求,不可以在浏览器地址栏直接访问
Route::post("route2", function () {
    return "hello world";
});
 
//match: 可以定义接收get或post请求
Route::match(['get','post'], "reute3", function () {
    return "hello world";
});
 
//any: 可以接收get和post请求
Route::any("route4", function () {
    return "hello world";
});
 
//路由接收参数,php中的字符串拼接用 "."
Route::get("user1/{id}", function($id){
    return "id-->" . $id;
});
 
//在user2/{id?} 后面加个问号代表参数不是必要的,可以在function中给个默认值
Route::get("user2/{id?}", function($id = 5){
    return "id-->" . $id;
});
 
//参数校验,在最后面加上正折表达,这里代表username只能是字母
Route::get("user3/{username}", function($username) {
    return "username-->" . $username;
})->where("username","[A-Za-z]+");
 
//路由别名,只要在后面加个数组,注意数组第一个元素是"as" => "center" ,第二个元素是function
Route::get("user4/mamber-center", ["as" => "center" , function(){
    //使用routes可以返回对应的路径
    return route("center");
}]);
 
//路由群组,加前缀,member.可以通过member/user1访问到第一个,
//通过member/user2访问到第二个
Route::group(["prefix" => "member"], function(){
 
    Route::get("user1",function(){
        return "hello world";
    });
 
    Route::get("user2",["as" => "group_route", function(){
        return route("group_route");
    }]);
 
});

以上就是php中Laravel定义路由的两种方法,步骤不是很繁琐,大家可以分别尝试一下。学会后也可以对路由在Laravel框架中进行使用,加深实际的操作能力。更多php学习指路:php教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图