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中数据的批量导入(csv文件)
Oct 09 PHP
session 的生命周期是多长
Oct 09 PHP
PHP 面向对象实现代码
Nov 11 PHP
php strcmp使用说明
Apr 22 PHP
一道关于php变量引用的面试题
Aug 08 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 PHP
PHP学习笔记之session
May 06 PHP
yii2安装详细流程
May 23 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
PHP获取类私有属性的3种方法
Sep 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
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
PHP中Date获取时间不正确怎么办
2008/06/05 PHP
php实现图片局部打马赛克的方法
2015/02/11 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
javawscript 三级菜单的实现原理
2009/07/01 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
jQuery之字体大小的设置方法
2014/02/27 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
JavaScript函数模式详解
2014/11/07 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
js实现日历与定时器
2017/02/22 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
Python的函数的一些高阶特性
2015/04/27 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
董事长职责范文
2013/11/08 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
为自己工作观后感
2015/06/11 职场文书
志愿服务心得体会
2016/01/15 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书
JavaScript函数柯里化
2021/11/07 Javascript
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js