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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
mysql5写入和读出乱码解决
Nov 25 PHP
数据库查询记录php 多行多列显示
Aug 15 PHP
简单的PHP缓存设计实现代码
Sep 30 PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 PHP
php通过文件流方式复制文件的方法
Mar 13 PHP
PHP正则验证Email的方法
Jun 15 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 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
2020最新CPU的性能排名
2020/04/02 数码科技
php 获取客户端的真实ip
2009/11/30 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
PHP链表操作简单示例
2016/10/15 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
jquery 列表双向选择器之改进版
2013/08/09 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
jQuery中(function($){})(jQuery)详解
2015/07/15 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
vuejs前后端数据交互之从后端请求数据的实例
2018/08/11 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
django 模型字段设置默认值代码
2020/07/15 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
上海微创软件面试题
2012/06/14 面试题
Solaris操作系统的线程机制
2015/07/28 面试题
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
自荐信如何“自荐”
2013/10/24 职场文书
自动化职业生涯规划书范文
2014/01/03 职场文书
学校消防安全制度
2014/01/30 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
签约仪式主持词
2014/03/19 职场文书
护士工作失误检讨书
2014/09/14 职场文书
党员评议自我评价
2015/03/03 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
MySQL限制查询和数据排序介绍
2022/03/25 MySQL