首页 >后端开发 >php教程 >【laravel-0.0.2】基础1-路由

【laravel-0.0.2】基础1-路由

WBOY
WBOY原创
2016-07-23 08:54:431092浏览

本想直接继续上实例,无奈怕一篇文章太长,还是先说点很基础的关键点
我在学习Laravel5.1,虽然刚刚开始,认识很浅,但还是需要做做归纳,清晰认识
建议大家到laravel学院学习laravel

1、路由(app/routes.php)

在routes.php中进行路由设置,;

作为访问的统一入口,是控制器的统一调度;

没有配置路由,就没有正确地访问路径;

路由需要自己规定一定的规则,方便自己查看、使用、理解;

2、路由基本类型及使用示例

get
Route::get('articles','ArticleController@index');

  1. Route::get('db',function(){
  2. $name = DB::connection()->getDatabaseName();
  3. echo $name;
  4. });
复制代码

post
Route::post('article/update','ArticleController@update');

match
匹配[]中的请求方式

  1. Route::match(['get','post'],'/hello',function(){
  2. return "match";
  3. });
复制代码

any
匹配所有请求方式

  1. Route::any('/hello',function(){
  2. return "any";
  3. });
复制代码
3、从路由获取参数

必用参数

  1. Route::get('/blog/{name}',function($name){
  2. return $name; // 返回name显示
  3. });
复制代码

即除了 /blog/{name}的路由类型,都不能进来

可选参数

  1. Route::get('/blog/{name?}',function($name = 'name'){
  2. return $name; // 返回name显示,如果没设置就取默认值
  3. });
复制代码

即设置了默认值,路由中加了 ? 未输入参数则使用默认值

正则参数
正则可以更灵活些,匹配更多需求。

  1. Route::get('/blog/{id?}',function($id="1"){
  2. return "{$id}";//输出blog的ID,
  3. })->where('name','^\d+$');//正则匹配为只能是数字,不然将无法找到路由;
复制代码

参数全局约束
在app/Providers/RouteServiceProvider的boot(Router $router)方法作如下修改:

  1. public function boot(Router $router)
  2. {
  3. $router->pattern('id','^\d+$');
  4. parent::boot($router);//将id全局限制为数字
  5. }
复制代码

boot()方法在每个服务提供者(Providers)类中都有用到,将再Providers启动方法执行后执行
可以通过boot()方法对Providers实现依赖注入

4、路由还可以做

给路由起个别名或者分个组

防CSRF攻击

Restful风格路由

详细内容

X、 app/routes.php 注释翻译(拙劣练习)

自从开始接触laravel和github发现,越来越难以逃避自己拙劣的英语,我该开始不再畏惧,好好面对,所以开始将laravel源码中出现的英文注释逐步进行翻译,待自己的对框架熟悉时候,再添加自己的中文注释,来强化自己的认识。

  1. /*
  2. |--------------------------------------------------------------------------
  3. | Application Routes
  4. |--------------------------------------------------------------------------
  5. |
  6. | Here is where you can register all of the routes for an application.
  7. | It's a breeze. Simply tell Laravel the URIs it should respond to
  8. | and give it the controller to call when that URI is requested.
  9. |
  10. */
  11. /*
  12. |--------------------------------------------------------------------------
  13. | 应用路由
  14. |--------------------------------------------------------------------------
  15. |
  16. | 你可以很轻松地在这里注册所有的路由。
  17. | 简单地告诉laravel,当特定地址被请求的时候,访问对应的控制器,使地址得到响应。
  18. |
  19. */
复制代码
laravel


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn