配置


简介

所有 Laravel 框架的配置文件都放置在 config 目录下。 每个选项都有说明,因此你可以轻松地浏览这些文档,并且熟悉这些选项配置。

完成安装后

命名你的应用程序

在安装 Laravel 后,你可以“命名”你的应用程序。默认情况下,app 的目录是在 App 的命名空间 下,通过 Composer 使用 PSR-4 自动载入规范 自动加载。不过,你可以轻松地通过 Artisan 命令 app:name 来修改命名空间,以配合你的应用程序名称。

举例来说,假设你的应用程序叫做“ Horsefly ”,你可以从安装的根目录执行下面的命令:

php artisan app:name Horsefly

重命名你的应用程序是完全可选的,你也可以保留原有的命名空间 App

其他配置

Laravel 几乎不需配置就可以马上使用。你可以自由的开始开发!然而,你可以浏览 config/app.php 文件和其他的文档。你可能希望依据你的本机而做更改,文件包含数个选项如时区语言环境

一旦 Laravel 安装完成,你应该同时 配置本机环境。

注意: 你不应该在正式环境中将 app.debug 配置为 true 。绝对!千万不要!

权限

Laravel 框架某些目录需要额外权限:storage 以及 vendor 目录必须让服务器有写入权限。

取得配置值

你可以很轻松的使用 Config facade 取得你的配置值:

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

Config::set('app.timezone', 'America/Chicago');

你也可以使用 config 辅助方法:

$value = config('app.timezone');

环境配置

通常应用程序常常需要根据不同的执行环境而有不同的配置值。例如,你会希望在你的本机开发环境上会有与正式环境不同的缓存驱动(cache driver),通过配置文件,就可以轻松完成。

Laravel 通过 DotEnv Vance Lucas 写的一个 PHP 类库。 在全新安装好的 Laravel 里,你的应用程序的根目录下会包含一个 .env.example 文件。如果你通过 Composer 安装 Laravel,这个文件将自动被命名为 .env,不然你应该手动更改文件名。

当你的应用程序收到请求,这个文件所有的变量会被加载到 $_ENV 这个 PHP 超级全局变量里。你可以使用辅助方法 env 查看这些变量。事实上,如果你查看过 Laravel 配置文件,你会注意到几个选项已经在使用这个辅助方法!

根据你的本机服务器或者线上环境需求,你可以自由的修改你的环境变量。然而, 你的 .env 文件不应该被提交到应用程序的版本控制系统,因为每个开发人员或服务器使用你的应用程序可能需要不同的环境配置。

如果你是一个团队的开发者,不妨将 .env.example 文件包含到你的应用程序。通过例子配置文件里的预留值,你的团队中其他开发人员可以清楚地看到执行你的应用程序所需的哪些环境变量。

取得目前应用程序的环境

你可以通过 Application 实例中的 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...
}

如果想取得应用程序的实例,可以通过服务容器的 Illuminate\Contracts\Foundation\Application contract 来取得。当然,如果你想在服务提供者中使用,应用程序实例可以通过实例变量 $this->app 取得。

也能通过 App facade 或者辅助方法 app 取得应用程序实例:

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

$environment = App::environment();

配置缓存

为了让你的的应用程序提升一些速度,你可以使用 Artisan 命令 config:cache 将所有的配置文件缓存到单一文件。通过命令会将所有的配置选项合并成一个文件,让框架能够快速加载。

通常来说,你应该将执行 config:cache 命令作为部署工作的一部分。

维护模式

当你的应用程序处于维护模式时,所有的路由都会指向一个自定的视图。当你要更新或维护网站时,“关闭”整个网站是很简单的。维护模式会检查包含在应用程序的默认中间件堆栈。如果应用程序处于维护模式,HttpException 会抛出 503 的状态码。

启用维护模式,只需要执行 Artisan 命令 down

php artisan down

关闭维护模式,请使用 Artisan 命令 up

php artisan up

维护模式的响应模板

维护模式响应的默认模板放在 resources/views/errors/503.blade.php

维护模式与队列

当应用程序处于维护模式中,将不会处理任何队列工作。所有的队列工作将会在应用程序离开维护模式后继续被进行。

优雅链接

Apache

Laravel 框架通过 public/.htaccess 文件来让网址中不需要 index.php。如果你的服务器是使用 Apache ,请确认是否有开启 mod_rewrite 模块。

假设 Laravel 附带的 .htaccess 文件在 Apache 无法生效的话,请尝试下面的方法:

Options +FollowSymLinks
RewriteEngine On

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

If your web host doesn't allow the FollowSymlinks option, try replacing it with Options +SymLinksIfOwnerMatch.

Nginx

若使用 Nginx ,可以在你的网站配置中增加下面的配置,以开启“优雅链接”:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

当然,如果你使用 Homestead 的话,优雅链接会自动的帮你配置完成。