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
第二节--PHP5 的对象模型
Nov 16 PHP
笑谈配置,使用Smarty技术
Jan 04 PHP
PHP+MYSQL 出现乱码的解决方法
Aug 08 PHP
php仿ZOL分页类代码
Oct 02 PHP
11个PHP 分页脚本推荐
Aug 15 PHP
PHP 转义使用详解
Jul 15 PHP
使用PHP Socket写的POP3类
Oct 30 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
Jan 07 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/03/04 日漫
星际争霸中的对战模式介绍
2020/03/04 星际争霸
老照片 - 几十年前的收音机与人
2021/03/02 无线电
curl和libcurl的区别简介
2015/07/01 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
DOM相关内容速查手册
2007/02/07 Javascript
Javascript & DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
javascript实现继承的简单实例
2015/07/26 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
新手必须知的Node.js 4个JavaScript基本概念
2018/09/16 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
python局部赋值的规则
2013/03/07 Python
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
python语音识别实践之百度语音API
2018/08/30 Python
python之拟合的实现
2019/07/19 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
应届生财务会计求职信
2013/11/05 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis