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