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