跟我学Laravel之配置Laravel


Posted in PHP onOctober 15, 2014

当你需要在运行时访问配置项时,可以使用Config类:

获取一个配置项的值**

Config::get('app.timezone');

如果配置项不存在,你还可以指定返回的默认值:

$timezone = Config::get('app.timezone', 'UTC');

为配置项赋值

注意"点"式语法可以用来访问不同文件里的配置项的值。你还可以在运行时为配置项赋值。:

Config::set('database.default', 'sqlite');

在程序运行时设置的配置值只在本次请求中有效,不会对以后的请求造成影响。

环境配置

通常应用程序根据不同的运行环境确定不同的配置项的值是非常有用的。例如,你也许希望在开发机器与生产机器上使用不同的缓存驱动(cache driver)。根据环境来改变配置就能很容易的达到此目的。

在config目录下创建一个和你的环境名同名的目录,例如local。然后,创建配置文件,这些配置文件中包含你想覆盖的配置选项。例如,要在本地环境中覆盖缓存驱动(cache driver),你可以在app/config/local目录中创建cache.php文件并包含如下内容:

<?php
return array(
    'driver' => 'file',
);

注意: 不要使用'testing'作为环境名,它是专门为单元测试所保留的。
注意,你不需要为基础配置文件中的所有配置项指定值,只需指定你需要覆盖的配置选项即可。环境配置文件将会以"cascade"方式覆盖基本配置文件。

接下来,我们需要指导框架如何确定其运行环境。默认环境总是produciton。然而,你可以在安装目录的根目录下的bootstrap/start.php 文件中设置其他的环境。在该文件中,你可以找到 $app->detectEnvironment方法的调用。传入的数组参数就是用来确定当前运行环境的。你可以根据需要添加其他的环境或机器名。

<?php
$env = $app->detectEnvironment(array(
    'local' => array('your-machine-name'),
));

在此案例中,'local' 是运行环境的名称,'your-machine-name' 是服务器的主机名。在Linux和Mac上,可以通过 hostname 命令来确定所用机器的主机名。

如果你需要更灵活的环境检查方式,可以在调用detectEnvironment时传递一个闭包(Closure) , 这样你就可以按照自己的方式检查环境了:

$env = $app->detectEnvironment(function()

{

    return $_SERVER['MY_LARAVEL_ENV'];

});

获取当前的应用环境

可以通用调用environment方法来获取当前的应用环境:

$environment = App::environment();

你还可以将参数传递给 environment 方法来判断应用环境是否与某个给定值匹配:

if (App::environment('local'))

{

    // The environment is local

}
if (App::environment('local', 'staging'))

{

    // The environment is either local OR staging...

}

维护模式

当应用处于维护模式时,所有的路由都会指向一个自定义的视图。这对于更新应用或执行维护任务时临时"禁用"当前应用是很方便的。App::down方法在app/start/global.php文件里进行了定义,它将在维护模式时将该方法输出的内容展示给用户。

要开启维护模式,只需执行Artisan 的 down命令:

php artisan down

要关闭维护模式,只需执行 up 命令:

php artisan up

当你的应用处于维护模式时,如需展示一个自定义的视图,只要在app/start/global.php文件中加入如下代码即可:

App::down(function()

{

    return Response::view('maintenance', array(), 503);

});

如果传递给 down 方法的闭包返回值为 NULL, 在此次请求中将忽略维护模式。

维护模式 & 队列

当应用程序处于维护模式时, 将不接受新的队列任务 。一旦应用程序退出维护模式,队列任务的处理即恢复正常。

PHP 相关文章推荐
php基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
PHP运行时强制显示出错信息的代码
Apr 20 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
Jun 06 PHP
关于svn冲突的解决方法
Jun 21 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
May 22 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
YII2框架中添加自定义模块的方法实例分析
Mar 18 PHP
tp5.1 框架数据库-数据集操作实例分析
May 26 PHP
跟我学Laravel之安装Laravel
Oct 15 #PHP
跟我学Laravel之快速入门
Oct 15 #PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
Oct 15 #PHP
Laravel框架学习笔记(一)环境搭建
Oct 15 #PHP
php缩放gif和png图透明背景变成黑色的解决方法
Oct 14 #PHP
php保存二进制原始数据为图片的程序代码
Oct 14 #PHP
ThinkPHP 3.2 数据分页代码分享
Oct 14 #PHP
You might like
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
简单的js表单验证函数
2013/10/28 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
JavaScript简介
2015/02/15 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
浅谈js闭包理解
2019/03/28 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
Vue事件修饰符native、self示例详解
2019/07/09 Javascript
使用zrender.js绘制体温单效果
2019/10/31 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
Python制作数据导入导出工具
2015/07/31 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
django API 中接口的互相调用实例
2020/04/01 Python
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
财务总监管理职责范文
2014/03/09 职场文书
模特大赛策划方案
2014/05/28 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
企业安全生产检查制度
2015/08/06 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书