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 fckeditor 调用的函数
Jun 21 PHP
php下通过IP获取地理位置的代码(小偷程序)
Jun 09 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 PHP
Codeigniter生成Excel文档的简单方法
Jun 12 PHP
自己写的php curl库实现整站克隆功能
Feb 12 PHP
Composer设置忽略版本匹配的方法
Apr 27 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
ThinkPHP5 验证器的具体使用
May 31 PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 PHP
php上传后台无法收到数据解决方法
Oct 28 PHP
实例化php类时传参的方法分析
Jun 05 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
杏林同学录(三)
2006/10/09 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
js验证表单大全
2006/11/25 Javascript
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
vue 中url 链接左边的小图标更改问题
2019/12/30 Javascript
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
详解Python的Django框架中的通用视图
2015/05/04 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
Python中.join()和os.path.join()两个函数的用法详解
2018/06/11 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
2019/06/19 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
世界上最全面的汽车零部件和配件集合:JC Whitney
2016/09/04 全球购物
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
军人违纪检讨书
2014/02/04 职场文书
入党自荐书范文
2014/03/09 职场文书
小学生作文评语大全
2014/04/21 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
生产实习心得体会范文
2016/01/22 职场文书
创业计划书详解
2019/07/19 职场文书