PHP框架Laravel的小技巧两则


Posted in PHP onFebruary 10, 2015

用 Laravel 作为 PHP 开发框架很久了,但是有些官方文档中没有覆盖到的地方,每隔一段时间又会忘记。最近做了一点简单的整理,顺便记录下来备忘。

1. Route::controller 路由命名:

用 Route::controller 可以减少路由定制中的大量工作,但是有时候需要对某个特定的路由命名以便使用,但是 Route::controller 方法是批量指定了一个 Controller 中所有方法的路由,这要怎么命名呢?可以用controller($uri, $controller, $names = array()) 中的第三个参数,这是一个数组,数组的 key 是方法,数组的 value 是命名。

// 该函数的签名:

public function controller($uri, $controller, $names = array())

 

// 不命名一般使用:

Route::controller('admin', 'AdminController');

 

// 需要对其中的部分方法命名的话:

Route::controller('admin', 'AdminController', array(

    'getIndex' => 'admin.index',

    'getLogin' => 'admin.login',

    'postLogin' => 'admin.login'

  ));

2. 根据系统变量判断当前运行环境

系统默认的判断是否本地环境的方法是根据在 'local' 数组中指定一组作为本地环境的主机名,比如在办公机、Macbook上都要做开发,你就要把两个主机名都写进去,我觉得这样很麻烦。改成了根据 $_SERVER['LARAVEL_ENV'] 来判断,这样我可以在所有开发机中都定义 'LARAVEL_ENV' 的环境变量,值为 'local',于是在开发机就会自动识别为 'local' 环境,而其它情况则是 'production'。

// 默认的写法是根据主机名判断是否本地环境

$env = $app->detectEnvironment(array(

    'local' => array('homestead');

));

 

// 修改为先判断系统变量是否指定,没有才判断主机名

$env = $app->detectEnvironment(function(){

    $_env = getenv('LARAVEL_ENV') ? getenv('LARAVEL_ENV') : array(

      'local' => array('homestead')

    );

    return $_env;

});

 

// 这实际是去读取 $_SERVER['LARAVEL_ENV'] 的值

// 在 Apache 中,可以用 SetEnv 设置,

// 在 Nginx 中,可以用 fastcgi_param 设置
PHP 相关文章推荐
透析PHP的配置文件php.ini
Oct 09 PHP
php 用checkbox一次性删除多条记录的方法
Feb 23 PHP
discuz程序的PHP加密函数原理分析
Aug 05 PHP
php 文章调用类代码
Aug 11 PHP
基于php下载文件的详解
Jun 02 PHP
Yii调试SQL的常用方法
Jul 09 PHP
在win7中搭建Linux+PHP 开发环境
Oct 08 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
Nov 18 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
Feb 10 #PHP
Laravel 5.0 发布 新版本特性详解
Feb 10 #PHP
PHP转盘抽奖接口实例
Feb 09 #PHP
PHP积分兑换接口实例
Feb 09 #PHP
PHP答题类应用接口实例
Feb 09 #PHP
自己写的php中文截取函数mb_strlen和mb_substr
Feb 09 #PHP
php构造函数的继承方法
Feb 09 #PHP
You might like
杏林同学录(九)
2006/10/09 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
PHP列出MySQL中所有数据库的方法
2015/03/12 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
ExtJS下grid的一些属性说明
2009/12/13 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
JavaScript 布尔操作符解析  && || !
2012/08/10 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
原生js实现模拟滚动条
2015/06/15 Javascript
详解javascript高级定时器
2015/12/31 Javascript
js如何改变文章的字体大小
2016/01/08 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
创建echart多个联动的示例代码
2018/11/23 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
对Python强大的可变参数传递机制详解
2019/06/13 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
一些高难度的SQL面试题
2016/11/29 面试题
客服服务心得体会
2013/12/30 职场文书
中年人生感言
2014/02/04 职场文书
领导干部考核评语
2015/01/04 职场文书
综合办公室岗位职责
2015/04/11 职场文书
详解SQL的窗口函数
2022/04/21 Oracle