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 相关文章推荐
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
PHP Token(令牌)设计
Mar 15 PHP
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
php仿discuz分页效果代码
Oct 02 PHP
php中var_export与var_dump的区别分析
Aug 21 PHP
调试一段PHP程序时遇到的三个问题
Jan 17 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
Jul 01 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
php 数组元素快速去重
May 05 PHP
PHP读取word文档的方法分析【基于COM组件】
Aug 01 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
Oct 11 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 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 MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
document对象execCommand的command参数介绍
2006/08/01 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
详解Jquery的事件操作和文档操作
2016/12/19 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
Python 中如何写注释
2020/08/28 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
英语专业学生个人求职信
2014/01/28 职场文书
旅游个人求职信范文
2014/01/30 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
Python中使用subprocess库创建附加进程
2021/05/11 Python
使用refresh_token实现无感刷新页面
2022/04/26 Javascript