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 相关文章推荐
实用函数3
Nov 08 PHP
php面向对象全攻略 (八)重载新的方法
Sep 30 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
Oct 09 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
php 的反射详解及示例代码
Aug 25 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
Aug 21 PHP
PHP+redis实现微博的推模型案例分析
Jul 10 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 Mssql操作简单封装支持存储过程
2009/12/11 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
PHP的几个常用加密函数
2016/02/03 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
firefox插件Firebug的使用教程
2010/01/02 Javascript
javascript 弹出层组件(升级版)
2011/05/12 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
js实现数组转换成json
2015/06/26 Javascript
使用JavaScript实现连续滚动字幕效果的方法
2015/07/07 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
JQuery样式与属性设置方法分析
2019/12/07 jQuery
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
python编程使用协程并发的优缺点
2018/09/20 Python
Python内置函数property()如何使用
2020/09/01 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
什么是.net的Remoting技术
2016/07/08 面试题
机关门卫的岗位职责
2014/04/29 职场文书
2014年电工工作总结
2014/11/20 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
Nginx的基本概念和原理
2022/03/21 Servers