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 缓冲的免费实现方法
Oct 09 PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
如何用PHP实现插入排序?
Apr 10 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
php实现MD5加密16位(不要默认的32位)
Aug 12 PHP
ini_set的用法介绍
Jan 07 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
浅谈php优化需要注意的地方
Nov 27 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
php面试中关于面向对象的相关问题
Feb 13 PHP
php判断/计算闰年的方法小结【三种方法】
Jul 06 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 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中$this->含义分析
2009/11/29 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
python代码过长的换行方法
2018/07/19 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
Python中如何导入类示例详解
2019/04/17 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
C#如何调用Windows程序打开一个文档
2014/12/26 面试题
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
大学自荐信
2013/12/12 职场文书
环境整治工作方案
2014/05/18 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
千万级用户系统SQL调优实战分享
2022/03/03 MySQL
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS