2016年10月5日 星期三

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

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

查看配置文件

Laravel 5 安装根目录下 .env 文件是配置文件。打开 config/database.php 可以看到,它返回一个PHP数组,该配置文件提供了各种数据库可能用到的配置。connections 里包含了数据库配置。修改'default' => 'mysql',参数可以选择需要使用的数据库。
  1. 'mysql' => [
  2. 'driver' => 'mysql',
  3. 'host' => env('DB_HOST', 'localhost'),
  4. 'database' => env('DB_DATABASE', 'forge'),
  5. 'username' => env('DB_USERNAME', 'forge'),
  6. 'password' => env('DB_PASSWORD', ''),
  7. 'charset' => 'utf8',
  8. 'collation' => 'utf8_unicode_ci',
  9. 'prefix' => '',
  10. 'strict' => false,
  11. ],
上面是默认的MySQL配置项,'host' => env('DB_HOST', 'localhost'),env()方法就是读取.env文件中的配置项,它的第二个参数是默认值。当然也可以通过'password' => 'password',直接配置,但是如果我们把项目存放到GitHub上时,这么做显然是不安全的。可以通过读取.env配置文件中的配置,然后把.env配置文件设置为不提交来解决,这也是通过.env配置文件来配置的一个好处。
打开项目根目录下的.gitignore文件,可以看到.env默认是不会被提交的。
  1. /vendor
  2. /node_modules
  3. .env

读取环境配置

Application实例中,可以通过environment()方法来读取目前应用程序的环境配置:
  1. $environment = $app->environment();
你也可以传递参数至 environment() 方法中,来确认目前的环境是否与参数相符合:
  1. if ($app->environment('local'))
  2. {
  3. // The environment is local
  4. }
  5.  
  6. if ($app->environment('local', 'staging'))
  7. {
  8. // The environment is either local OR staging...
  9. }
也能通过 App facade 或者辅助方法 app() 取得应用程序实例:
  1. $environment = app()->environment();
  2. $environment = App::environment();

配置MySQL

打开.env文件,修改MySQL相关配置项:
  1. DB_HOST=localhost
  2. DB_DATABASE=laravel
  3. DB_USERNAME=root
  4. DB_PASSWORD=
之后在使用phpmyadmin或者Navicat等工具链接数据库,然后创建一个名为laravel的数据库:
  1. mysql -u root
  2.  
  3. CREATE DATABASE laravel

维护模式

当你的应用程序处于维护模式时,所有的路由都会指向一个自定的视图。当你要更新或维护网站时,「关闭」整个网站是很简单的。如果应用程序处于维护模式,HttpException 会抛出 503 的状态码。
启用维护模式,只需要执行 Artisan 命令 down
  1. php artisan down
关闭维护模式,请使用 Artisan 命令 up
  1. php artisan up
维护模式响应的默认模板放在 resources/views/errors/503.blade.php

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

from : http://9iphp.com/web/laravel/laravel-5-environments-and-configuration.html

沒有留言:

wibiya widget