原創|使用教程|編輯:龔雪|2014-03-14 09:51:44.000|閱讀 2004 次
概述:Laravel是一套簡潔、優雅的PHP Web開發框架,本文將詳細介紹Laravel如何進行配置。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
配置說明
框架下載好了,但是想要很好的使用,可能我們還有一些東西需要知道,這就是配置。和項目有關的配置是在app/config文件夾里,但是除了這里還有一些配置可能是我們需要的。作為一個基礎教程,我就不一一介紹了,只是選擇一些大家配置比較多的地方講解一下。
app/config中的配置說明
在app/config文件夾中經常配置的一般有兩個文件:app.php
和database.php
兩個文件,他們一個是配置項目雜項的、一個是配置數據庫的。下面我就里面的常用配置做一下解釋:
先是app.php
文件
// app/config/app.php 文件 return array( /* |-------------------------------------------------------------------------- | Laravel 的 debug 模塊 |-------------------------------------------------------------------------- | 當設置為 'true' 的時候為開啟狀態(下面這種設置是默認設置,為開啟狀態) | 'false' 為關閉狀態。開啟的時候當程序出現錯誤會顯示錯誤信息, | 而關閉的時候,程序一旦錯誤,則會跳轉到錯誤頁面(一般為404頁) */ 'debug' => true, /* |-------------------------------------------------------------------------- | 應用地址 |-------------------------------------------------------------------------- | 這個地址只有在使用 Artisan 命令的時候才會用到,需要設置為應用的根目錄。 | 額,如果你還是不清楚我在說什么,那就和下面一樣設置成空吧。 */ 'url' => '', /* |-------------------------------------------------------------------------- | 應用的時區 |-------------------------------------------------------------------------- | 這個就是時區操作了,一般如果你沒有對 PHP 進行設置的話,時區是美國時區, | 也就是 'UTC' ,啊,你是要寫面向我天朝網站么?那就設置成 'Asia/Shanghai' 吧。 */ 'timezone' => 'Asia/Shanghai', /* |-------------------------------------------------------------------------- | 應用的本地化 |-------------------------------------------------------------------------- | 簡單的說就是多語言設置,默認是 'en' 如果你沒有自己寫語言包的話那就還是這個值吧。 | 你可以在 app/lang 文件夾中看到語言包,如果你沒有多語言想法的話,那就不用管這個了。 */ 'locale' => 'en', /* |-------------------------------------------------------------------------- | 應用密鑰 |-------------------------------------------------------------------------- | 這是在應用 Laravel 自帶的加密功能時會用到的密鑰,是為了保證加密安全性的。 | 如果你的文件這里不是一個隨機的 32 位字符串的話,你可以用 'php artisan key:generate' | 命令生成一個 32 位隨機字符串,啊,記住要在你寫網頁之前做這個事情。 | 一旦你變更這個字符串,那么用上一個字符串加密過的內容就找不回來了!! */ 'key' => '', );
其實app.php后面還有一些內容,但那些基本上不需要你修改。(只有添加第三方包的時候才有需要,我們會到時候再講)
接下來介紹database.php
文件
// app/config/database.php 文件 return array( /* |-------------------------------------------------------------------------- | PDO 類型 |-------------------------------------------------------------------------- | 默認情況下 Laravel 的數據庫是用 PDO 來操作的,這樣能極大化的提高數據庫兼容性。 | 那么默認查詢返回的類型是一個對象,也就是如下的默認設置。 | 如果你需要返回的是一個數組,你可以設置成 'PDO::FETCH_ASSOC' */ 'fetch' => PDO::FETCH_CLASS, /* |-------------------------------------------------------------------------- | 默認的數據庫連接名 |-------------------------------------------------------------------------- | 這里所說的名字是和下面的 'connections' 中的名稱對應的,而不是指你用的什么數據庫 | 為了你更好的理解,我在這里換了一個名字 */ 'default' => 'meinv', /* |-------------------------------------------------------------------------- | 數據庫連接名 |-------------------------------------------------------------------------- | 這里就是設置各種數據庫的配置的,每個數組里的 'driver' 表明了你要用的數據庫類型 | 同一種數據庫類型可以設置多種配置,名字區分開就行,就像下面的 'mysql' 和 'meinv' | 其他的么,我覺得不需要解釋了吧,就是字面意思,我相信你英文的能力(其實是我英文不好) */ 'connections' => array( 'sqlite' => array( 'driver' => 'sqlite', 'database' => __DIR__.'/../database/production.sqlite', 'prefix' => '', ), 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 'meinv' => array( //這里就是上面例子里的默認連接數據庫名,實際上是 mysql 數據庫 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 'pgsql' => array( 'driver' => 'pgsql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', ), 'sqlsrv' => array( 'driver' => 'sqlsrv', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'prefix' => '', ), ), );
額~,你懂的,我肯定不會都說完么,對于剛開始的你來說,數據庫的設置知道這些就足夠了。
配置開發環境
有時候我們需要指定開發環境是“本地”(本地環境一般是指我們自己電腦上的虛擬服務器,并沒有發布到網上)還是“生產”(生產環境一般是指線上環境,就是在正式的服務器上),亦或是還有其他環境(有些開發公司還會分測試環境等等),以方便做一個配置上的改變,比如“本地”環境的話就可以打開debug等等,而“生產”環境就不能打開debug,否則會讓人知道我們服務器的一些信息,這可是秘密,會造成不安全的。那下面就介紹一下Laravel中的環境配置。
環境配置在bootstrap/start.php
中,我們打開這個文件,在里面找到下面這段代碼
$env = $app->detectEnvironment(array( 'local' => array('your-machine-name'), ));
這里的'your-machine-name'是指你電腦的hostname(啥是hostname?好吧,我也查了好久,就是你的服務器名)。有童鞋問了:怎么知道我電腦的hostname呢?
ipconfig /all
Windows中打開cmd輸入
下面“主機名”就是hostname,
Ubuntu中打開終端輸入
hostname
顯示的就是hostname
比如我的電腦的hostname是admin,那么就是這樣的
$env = $app->detectEnvironment(array( 'local' => array('admin'), ));
這樣的話在我的電腦中的時候,用的就是'local'中的配置。
那前面的'local'是什么呢?是表示app/config中的文件夾名。當hostname符合你的設置的時候,Laravel會在你的app/config文件夾里尋找local文件夾,并啟用里面文件的設置,如果需要的設置local文件夾里沒有的話就會啟用app/config里的設置。聽起來有些繞是不是?看下面,我們的app/config中一般是這樣的
config |-- packages |-- testing |-- app.php |-- auth.php |-- cache.php |-- compile.php |-- database.php |-- mail.php |-- queue.php |-- remote.php |-- session.php |-- view.php |-- workbench.php
這時候我們的環境設置起不了任何作用,配置用的就是現在這些文件的設置。下面我們在里面建一個名叫local的文件夾,并將app.php
和database.php
兩個文件拷貝進去。于是文件結構變成了這樣:
config |-- local |-- app.php |-- database.php |-- packages |-- testing |-- app.php |-- auth.php |-- cache.php |-- compile.php |-- database.php |-- mail.php |-- queue.php |-- remote.php |-- session.php |-- view.php |-- workbench.php
結合上面我的環境設置,當我在我的電腦看的時候,app.php
和database.php
啟用的是local文件夾中的,其他配置用的還是原來的,我本地需要什么配置和線上的有不同的時候,就將那個配置文件拷貝到local文件夾里,然后配置就行了。
'local'這個名字不是必須的,我們可以任意起,而且可以不止一個,比如像下面這樣
$env = $app->detectEnvironment(array( 'shenma' => array('admin'), 'fuyun' => array('work','ayaya.group'), ));
好了,配置就介紹到這里,更多的配置內容,我會在高級教程里繼續介紹:)
轉載自//www.golaravel.com/article/configure-laravel/
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網