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 相关文章推荐
在线短消息收发的程序,不用数据库
Oct 09 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
May 02 PHP
PHP的一个基础知识 表单提交
Jul 04 PHP
PHP中文件缓存转内存缓存的方法
Dec 06 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
注意:php5.4删除了session_unregister函数
Aug 05 PHP
使用openssl实现rsa非对称加密算法示例
Jan 24 PHP
php处理复杂xml数据示例
Jul 11 PHP
PHP文件上传处理案例分析
Oct 15 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
Jun 16 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 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
php设置编码格式的方法
2013/03/05 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
js实现本地时间同步功能
2017/08/26 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
React实现todolist功能
2020/12/28 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
Python采集腾讯新闻实例
2014/07/10 Python
详细解读Python中的__init__()方法
2015/05/02 Python
Python实现两个list对应元素相减操作示例
2017/06/09 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
jupyter notebook清除输出方式
2020/04/10 Python
5款实用的python 工具推荐
2020/10/13 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
研发工程师的岗位职责
2013/11/18 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年个人总结范文
2015/03/09 职场文书
公司会议开幕词
2016/03/03 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书