跟我学Laravel之配置Laravel_php实例

当你需要在运行时访问配置项时,可以使用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, 在此次请求中将忽略维护模式。

维护模式 & 队列

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

时间: 2024-11-08 18:53:42

跟我学Laravel之配置Laravel_php实例的相关文章

跟我学Laravel之安装Laravel_php实例

安装Composer Laravel框架使用Composer(PHP包管理工具,参考 Composer 中文文档)来管理代码依赖性. 首先,你需要下载Composer的PHAR打包文件( composer.phar ),下载完成后把它放在项目目录下或者放到 usr/local/bin 目录下以便在系统中全局调用.在Windows操作系统中,你可以使用Composer的Windows安装工具. 安装Laravel 通过 Laravel 安装器安装 先下载 Laravel 安装器 PHAR 文件.为

跟我学Laravel之路由_php实例

基本路由 应用中的大多数路都会定义在 app/routes.php 文件中.最简单的Laravel路由由URI和闭包回调函数组成. 基本 GET 路由 复制代码 代码如下: Route::get('/', function() {     return 'Hello World'; }); 基本 POST 路由 复制代码 代码如下: Route::post('foo/bar', function() {     return 'Hello World'; }); 注册一个可以响应任何HTTP动作

跟我学Laravel之视图 &amp; Response_php实例

基本Response 从路由中返回字符串 复制代码 代码如下: Route::get('/', function() {     return 'Hello World'; }); 创建自定义Response Response类继承自Symfony\Component\HttpFoundation\Response类,提供了多种方法用于构建HTTP Response. 复制代码 代码如下: $response = Response::make($contents, $statusCode); $

跟我学Laravel之快速入门_php实例

安装 Laravel框架使用 Composer 执行安装和依赖管理.如果还没有安装的话,现在就开始 安装 Composer 吧. 安装Composer之后,你就可以通过命令行使用如下命令安装Laravel了: composer create-project laravel/laravel your-project-name 或者,你可以从 Github仓库 下载.接下来,在 安装Composer 之后,在项目根目录下执行 composer install 命令.该命令将会下载以及安装框架的依赖组

Pix515 防火墙配置策略实例分析

需求:想通过pix做snat使内网用户上网,再做dnat使访问本公网IP的http服务.ssh服务转换为192.168.4.2的http服务.ssh服务,对192.168.4.2开放本pix的telnet服务 pix515防火墙配置策略实例 #转换特权用户 pixfirewall>ena pixfirewall# #进入全局配置模式 pixfirewall# conf t #激活内外端口 interface ethernet0 auto interface ethernet1 auto #下面两

框架-laravel环境配置出错问题

问题描述 laravel环境配置出错问题 还需要怎么配置吗 解决方案 参考:http://www.cnblogs.com/huangbx/p/Laravel_1.html

Tomcat配置SSL nginx+tomcat配置https实例及优化过程

Tomcat配置SSL,使用openssl制作证书 制作证书以及Tomcat配置     搭建openssl环境,下载openssl并设置环境变量方便命令行的使用:    修改openssl配置文件,设置dir目录,如设置dir=e:/temp/openssl_ca,然后根据配置文件分别建立子目录:certs.crl.newcerts.private分别用来存放签发的证书.吊销的证书.证书申请.私钥:         cd /d e:\temp\openssl_ca         mkdir 

依赖注入-最近在学Spring,配置的&amp;amp;lt;constructor-arg&amp;amp;gt;感觉没生效

问题描述 最近在学Spring,配置的<constructor-arg>感觉没生效 package com.springinaction.springidol; public interface Performer { void perform(); } package com.springinaction.springidol; public class Juggler implements Performer { private int beanBags = 3; public Juggl

Laravel Memcached缓存驱动的配置应用实例

对于大型网站(数据多,访问量大)而言,缓存系统是必备组件,其为减轻数据库负载.提高页面访问速度.提升系统性能立下汗马功劳.Laravel作为一个功能完善且强大的PHP框架,自然为缓存系统提供了支持.目前Laravle支持的缓存驱动包括文件.数组.数据库.APC.Memcached和Redis,并且为这些驱动提供了统一的存取接口,这样做的好处显而易见:我们可以根据业务需求随时切换缓存驱动而不用对业务逻辑代码做任何修改. Laravel缓存驱动配置位于config/cache.php,该配置数组中第