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 相关文章推荐
Discuz! Passport 通行证整合
Mar 27 PHP
php checkdate、getdate等日期时间函数操作详解
Mar 11 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
PHP 代码规范小结
Mar 08 PHP
php生成图形(Libchart)实例
Nov 06 PHP
thinkphp3查询mssql数据库乱码解决方法分享
Feb 11 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
Jan 07 PHP
Linux安装配置php环境的方法
Jan 14 PHP
PHP笛卡尔积实现算法示例
Jul 30 PHP
PHP抽象类与接口的区别实例详解
May 09 PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 PHP
php写入文件不覆盖的实例讲解
Sep 17 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 图片文件上传实现代码
2010/12/29 PHP
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
JavaScript OOP类与继承
2009/11/15 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
利用python获得时间的实例说明
2013/03/25 Python
Python中运算符"=="和"is"的详解
2016/10/08 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
露营世界:Camping World
2017/02/02 全球购物
80年代复古T恤:TruffleShuffle
2018/07/02 全球购物
Ruby如何创建一个线程
2013/03/10 面试题
人力资源作业细则
2014/03/03 职场文书
音乐节策划方案
2014/06/09 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
2014年行政部工作总结
2014/11/19 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
学习党史心得体会2016
2016/01/23 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
MySQL 如何限制一张表的记录数
2021/09/14 MySQL