欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

[Laravel 5 教程学习笔记] 六、环境与配置 有大用

shiping1 的头像

前一节学习了Laravel Blade模版,这一节学习Laravel 5中的环境与配置(Environments and Configuration)。

查看配置文件

Laravel 5 安装根目录下 .env 文件是配置文件。打开 config/database.php 可以看到,它返回一个PHP数组,该配置文件提供了各种数据库可能用到的配置。connections 里包含了数据库配置。修改'default' => 'mysql',参数可以选择需要使用的数据库。

'mysql' => [
    'driver'    => 'mysql',
    'host'      => env('DB_HOST', 'localhost'),
    'database'  => env('DB_DATABASE', 'forge'),
    'username'  => env('DB_USERNAME', 'forge'),
    'password'  => env('DB_PASSWORD', ''),
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
    'strict'    => false,
],

上面是默认的MySQL配置项,'host' => env('DB_HOST', 'localhost'),env()方法就是读取.env文件中的配置项,它的第二个参数是默认值。当然也可以通过'password' => 'password',直接配置,但是如果我们把项目存放到GitHub上时,这么做显然是不安全的。可以通过读取.env配置文件中的配置,然后把.env配置文件设置为不提交来解决,这也是通过.env配置文件来配置的一个好处。

打开项目根目录下的.gitignore文件,可以看到.env默认是不会被提交的。

/vendor
/node_modules
.env

读取环境配置

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...
}

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

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

配置MySQL

打开.env文件,修改MySQL相关配置项:

DB_HOST=localhost
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

之后在使用phpmyadmin或者Navicat等工具链接数据库,然后创建一个名为laravel的数据库:

mysql -u root 

CREATE DATABASE laravel

维护模式

当你的应用程序处于维护模式时,所有的路由都会指向一个自定的视图。当你要更新或维护网站时,「关闭」整个网站是很简单的。如果应用程序处于维护模式,HttpException 会抛出 503 的状态码。

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

php artisan down

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

php artisan up

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

 

本节完。下一节学习Laravel 5的 Migrations


该篇属于专题:《Laravel 5 基础视频教程学习笔记

普通分类: