laravel5.1框架基础之路由详解
程序员文章站
2023-11-24 20:21:16
本文实例讲述了laravel5.1框架基础之路由。分享给大家供大家参考,具体如下:
我在学习laravel5.1,虽然刚刚开始,认识很浅,但还是需要做做归纳,清晰认识...
本文实例讲述了laravel5.1框架基础之路由。分享给大家供大家参考,具体如下:
我在学习laravel5.1,虽然刚刚开始,认识很浅,但还是需要做做归纳,清晰认识
建议大家到学习laravel
1、路由(app/routes.php)
- 在routes.php中进行路由设置,;
- 作为访问的统一入口,是控制器的统一调度;
- 没有配置路由,就没有正确地访问路径;
- 路由需要自己规定一定的规则,方便自己查看、使用、理解;
2、路由基本类型及使用示例
- get
route::get('articles','articlecontroller@index');
或
route::get('db',function(){ $name = db::connection()->getdatabasename(); echo $name; });
- post
route::post('article/update','articlecontroller@update');
- match
匹配[]
中的请求方式
route::match(['get','post'],'/hello',function(){ return "match"; });
- any
匹配所有请求方式
route::any('/hello',function(){ return "any"; });
3、从路由获取参数
- 必用参数
route::get('/blog/{name}',function($name){ return $name; // 返回name显示 });
即除了 /blog/{name}的路由类型,都不能进来
- 可选参数
route::get('/blog/{name?}',function($name = 'name'){ return $name; // 返回name显示,如果没设置就取默认值 });
即设置了默认值,路由中加了 ? 未输入参数则使用默认值
- 正则参数
正则可以更灵活些,匹配更多需求。
route::get('/blog/{id?}',function($id="1"){ return "{$id}";//输出blog的id, })->where('name','^\d+$');//正则匹配为只能是数字,不然将无法找到路由;
- 参数全局约束
在app/providers/routeserviceprovider的boot(router $router)
方法作如下修改:
public function boot(router $router) { $router->pattern('id','^\d+$'); parent::boot($router);//将id全局限制为数字 }
boot()
方法在每个服务提供者(providers)类中都有用到,将再providers启动方法执行后执行
可以通过boot()方法对providers实现依赖注入
4、路由还可以做
x、 app/routes.php 注释翻译(拙劣练习)
自从开始接触laravel和github发现,越来越难以逃避自己拙劣的英语,我该开始不再畏惧,好好面对,所以开始将laravel源码中出现的英文注释逐步进行翻译,待自己的对框架熟悉时候,再添加自己的中文注释,来强化自己的认识。
/* |-------------------------------------------------------------------------- | 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. | */ /* |-------------------------------------------------------------------------- | 应用路由 |-------------------------------------------------------------------------- | | 你可以很轻松地在这里注册所有的路由。 | 简单地告诉laravel,当特定地址被请求的时候,访问对应的控制器,使地址得到响应。 | */
下一篇: asp动态级联菜单代码