laravel5.1框架基础之路由详解

所属分类: 网络编程 / PHP编程 阅读数: 1168
收藏 0 赞 0 分享

本文实例讲述了laravel5.1框架基础之路由。分享给大家供大家参考,具体如下:

我在学习Laravel5.1,虽然刚刚开始,认识很浅,但还是需要做做归纳,清晰认识
建议大家到laravel学院学习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/RouteServiceProviderboot(Router $router)方法作如下修改:

public function boot(Router $router)
{
  $router->pattern('id','^\d+$');
  parent::boot($router);//将id全局限制为数字
}

boot()方法在每个服务提供者(Providers)类中都有用到,将再Providers启动方法执行后执行

可以通过boot()方法对Providers实现依赖注入

4、路由还可以做

给路由起个别名或者分个组
防CSRF攻击
Restful风格路由
详细内容

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,当特定地址被请求的时候,访问对应的控制器,使地址得到响应。
|
*/

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

更多精彩内容其他人还在看

PHP setTime 设置当前时间的代码

在用JAVA中有个 Calendar 可设置当前时间,在PHP中找了半天,终于给我找到了这个函数,嘎嘎
收藏 0 赞 0 分享

PHP 图片水印类代码

这个类功能很强大,细节很棒!希望大家喜欢,并积极指点
收藏 0 赞 0 分享

PHP实现手机归属地查询API接口实现代码

主要使用curl实现,需要开启php对curl的支持
收藏 0 赞 0 分享

php 解决旧系统 查出所有数据分页的类

不同之处在于 没有实现分页的系统, 默认全部查出来 现在就要不能动后台的基础上进行操作 可以采用 相应的 如下 代码
收藏 0 赞 0 分享

PHP的简易冒泡法代码分享

基础的东西,感觉代码还不够简洁,希望高手指导修改,脚本之家特为大家多准备了几个,方便测试学习
收藏 0 赞 0 分享

PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)

PHP 利用AJAX获取网页并输出的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

php数组一对一替换实现代码

以下方法能实现匹配关键词并分别对关键词做特殊处理的功能,需要的朋友可以参考下
收藏 0 赞 0 分享

关于UEditor编辑器远程图片上传失败的解决办法

因为单纯喜欢 UEditor 的界面,于是把项目中原先的编辑器进行的替换,但在后续操作中发现一些问题,就是远程图片上传
收藏 0 赞 0 分享

Windows下部署Apache+PHP+MySQL运行环境实战

本来嘛,部署PHP没什么复杂,找各种版本着实头疼了一下。
收藏 0 赞 0 分享

比较discuz和ecshop的截取字符串函数php版

网上看到一篇文章 discuz和ecshop截取字符串的两个函数,比较了一下两个版本的函数,都各有局限,只能在特定的前提下使用,但是学习一下有利于拓宽思路,了解PHP的扩展功能
收藏 0 赞 0 分享
查看更多