Laravel 5 中的配置

介绍

Laravel 的全部的配置文件都放在了 config 这个目录的下面。每一个选项都有介绍。php

config
├── app.php
├── auth.php
├── cache.php
├── compile.php
├── database.php
├── filesystems.php
├── mail.php
├── queue.php
├── services.php
├── session.php
└── view.php

0 directories, 11 files

安装以后

命名应用

安装完 Laravel 之后,你可能想要给应用起个名字。默认状况下, app 目录是在 App 这个命名空间下面,Composer  会用 PSR-4-autoloading 标准自动去加载它。你能够经过 Artisan 的 app:name 命令去修改这个命名空间匹配你的应用的名字。node

好比,你打算把应用命名为 “Movietalk”,在项目的根目录下执行下面这个命令:缓存

php artisan app:name Movietalk

上面的命令会修改一系列的文件里的内容。给应用起个名字是可选的,你可使用默认的 App 这个命名空间。我建议先别在意为命名应用程序,使用默认的 App 就行。服务器

其它配置

Laravel 基本上不须要太多配置。你能够立刻去开发应用,不过你能够看一下 config/app.php 这个文件,上面的选项有说明。好比 timezone,locale 这些选项,能够根据本身所在的地区去配置。session

安装完 Laravel 之后,你须要配置一下本地的环境。app

注意:在生产环境下,不要把 app.debug 设置成 true 。dom

权限

Web 服务器须要有能够写入 storage 这个目录的权限。ide

访问配置的值

咱们能够根据应用程序运行的环境去使用不一样的配置。好比,你可能想在本地环境跟生产环境上使用不一样的缓存引擎,这样就能够去使用基于不一样环境的配置。网站

为了让这件事更容易,Laravel 使用了 Vance Lucas 的 DotEnv 这个库。在全新安装的 Laravel 里面,应用的根目录下有个叫 .env.example 的文件。若是你用的是 Composer 安装的 Laravel,这个文件会自动重命名成 .env,否则的话,你须要本身手工去重命名这个文件。this

当应用接收到请求的时候,在这个 .env 文件里列出的全部的变量都会被载入到 $_ENV 这个 PHP 的超级全局变量里。你可使用 env 帮手从这些变量里获取到值。看一下 Laravel 的配置文件,你会发现不少地方都用到了这个 env 帮手。好比在 config/app.php 这个文件里:

'debug' => env('APP_DEBUG'),

'key' => env('APP_KEY', 'SomeRandomString'),

根据本身的需求去为本地与生产环境去修改这些环境变量。不要把这个 .env 文件提供到应用的版本仓库里面,由于使用这个应用的不一样的开发者或者服务器可能须要不一样的环境配置。

若是你是跟一个团队一块儿开发,能够在应用里包含这个 .env.example 文件。在上面放一些配置的示例,这样团队里的其它的开发者能够很清楚的看到使用你的应用须要去配置哪些环境变量。

访问应用当前的环境

你能够经过 Application 实例上的 environment 这个方法访问到当前应用的环境:

$environment = $app->environment();

你能够为 environment 方法传递参数来检查是否匹配指定的环境:

if ($app->environment('local'))
{
    // 环境是 local
}

if ($app->environment('local', 'staging'))
{
    // 环境是 local 或者 staging... }

要获得应用的实例,可使用 Service Container 来 Resolve  Illuminate\Contracts\Foundation\Applicationcontract 。若是你在一个 Service Provider 里面, 应用的实例能够经过 $this->app 获得。

应用的实例可使用 App facade 里面的 app 帮手访问到:

$environment = app()->environment();

$environment = App::environment();

配置缓存

使用 config:cache 这个 Artisan 命令,能够把应用里的全部的配置文件合并成一个文件,这样 Laravel 在加载它的时候会更快一些。

维护模式

当应用在维护模式下,会用一个自定义的视图显示给全部的请求。通常在升级或者维护应用的时候,能够用这样的方法暂时关闭应用。检查维护模式包含在了 应用的默认的 middleware stack 里面。当应用在维护模式下的时候,HttpException 会扔出一个状态码是 503 的异常。

QQ20150208-1

使用 Artisan 的 down 命令能够打开应用的维护模式:

php artisan down

关闭维护维护,用的是  up 命令:

php artisan up

维护模式模板

默认的维护模式使用的模板是:resources/views/errors/503.blade.php

维护模式与队列(Queues)

当应用在维护模式下,不会处理在队列中的工做。关闭维护模式之后,队列工做会像正常同样去处理。

简洁的URL

Apache

应用里面的 public 目录下面有个 .htaccess 文件,它能够去掉 URL 里面的 index.php 。若是你打算用 Apache 去为 Laravel 应用提供服务,肯定你启用了 Apache 的 mod_rewrite 模块。

若是自带的 .htaccess 无论用,能够试试下面的代码:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx

使用 Nginx 服务器,在网站的配置文件里,使用下面的指令能够启用简洁的 URL :

location / {
    try_files $uri $uri/ /index.php?$query_string;
}
相关文章
相关标签/搜索