自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

thinkphp 5 配置講解

開發(fā) 開發(fā)工具
本文講解的配置方式主要是為了項(xiàng)目開發(fā)方便,并非一定要這樣操作,可按照個(gè)人的習(xí)慣來操作。

 [[204500]]

一、thinkphp配置類型有哪些?

1.在thinkphp中,有6種配置。即慣例配置,應(yīng)用配置、擴(kuò)展配置、模塊配置、場(chǎng)景配置、動(dòng)態(tài)配置。

2.慣例配置就是系統(tǒng)默認(rèn)的配置。

3.應(yīng)用配置就是我們自己開發(fā)創(chuàng)建的應(yīng)用單獨(dú)的配置。

4.擴(kuò)展配置主要是實(shí)現(xiàn)我們項(xiàng)目在開發(fā)過程中有一些擴(kuò)展程序用到的配置。

5.模塊配置就是我們?cè)谝粋€(gè)應(yīng)用中,每一個(gè)模塊的配置。

6.場(chǎng)景配置主要是實(shí)現(xiàn)我們?cè)诓煌拈_發(fā)環(huán)境中設(shè)置的配置。若我們?cè)诩依锩孓k公,電腦環(huán)境可能不一樣;公司里面辦公,公司的電腦環(huán)境有不一樣。

7.動(dòng)態(tài)配置在我們模塊中開發(fā)實(shí)現(xiàn)的動(dòng)態(tài)配置。如我們?cè)谀骋粋€(gè)控制器中定義數(shù)據(jù)庫(kù)的配置。

二、thinkphp配置的實(shí)現(xiàn)原理是什么樣的?

1.thinkphp實(shí)現(xiàn)這樣不同類型的配置,很大程度上面方面了我們進(jìn)行模塊化配置,增強(qiáng)了配置的靈活性。

2.thinkphp的配置加載順序主要是按照如下順序。動(dòng)態(tài)配置》》模塊配置》》擴(kuò)展配置》》應(yīng)用配置》》慣例配置

3.thinkphp實(shí)現(xiàn)配置主要是使用了php的array_merage()函數(shù)(如果兩個(gè)或更多個(gè)數(shù)組元素有相同的鍵名,則***的元素會(huì)覆蓋其他元素。)。當(dāng)我們系統(tǒng)去加載我們的配置文件時(shí),就會(huì)覆蓋前面的配置文件,因此才會(huì)實(shí)現(xiàn)上面第二步的執(zhí)行順序。

三、為什么要實(shí)現(xiàn)這樣的配置?

1.通過不同類型的配置,我們便于項(xiàng)目的配置管理。加入我們就使用框架自帶的配置,當(dāng)我們?cè)谀硞€(gè)模塊開發(fā)中,需要將數(shù)據(jù)存在另外一臺(tái)服務(wù)器的數(shù)據(jù)庫(kù)上,是不是我們的項(xiàng)目就不能實(shí)現(xiàn)了。像這種情況還很多,這只是一個(gè)簡(jiǎn)單的例子。

四、配置文件要求

在所有的配置文件中都是采用數(shù)組的方式,當(dāng)我們系統(tǒng)在加載該配置文件時(shí),都會(huì)return一個(gè)數(shù)組,這個(gè)數(shù)組就是我們的配置項(xiàng)目。我們?cè)谙到y(tǒng)中訪問配置項(xiàng),可以使用config()助手函數(shù),也可以使用config類

五、如何是實(shí)現(xiàn)這些類型的配置呢?

1.慣例配置。

慣例配置直接在框架的核心目錄下面的convention.php中,這里不做細(xì)講。

2.應(yīng)用配置。

我們?cè)趧?chuàng)建項(xiàng)目時(shí),框架會(huì)默認(rèn)在application目錄西面創(chuàng)建config.php,database.php等配置文件。我們直接在相應(yīng)的文件中進(jìn)行操作即可。下面單獨(dú)講解的主要是采用創(chuàng)建一個(gè)目錄來配置,效果都是一樣的,無非是換了個(gè)文件路徑而已。

a.定義配置文件路徑,找到項(xiàng)目入口文件,在application同級(jí)別目錄下創(chuàng)建一個(gè)config的目錄(后面配置講解都是在該目錄下面操作,下面就不單獨(dú)講解)。

  1. define('CONF_PATH', __DIR__.'/../config/'); 

接下來在該目錄下面直接創(chuàng)建配置文件即可,創(chuàng)建的文件名稱不一定局限于config,database。至于文件里面的配置項(xiàng)和convention.php配置文件的方式一致。當(dāng)我們?cè)陧?xiàng)目運(yùn)行過程中,會(huì)自動(dòng)的加載該目錄下面的配置項(xiàng)。

3.擴(kuò)展配置。擴(kuò)展配置主要是我們?cè)陂_發(fā)中用它的一些數(shù)據(jù)的擴(kuò)展使用,如我們使用郵箱,要涉及到郵箱的賬號(hào)。便可以在該目錄下面配置。我們?cè)赾onfig目錄下面創(chuàng)建一個(gè)extra目錄,在該目錄下面創(chuàng)建對(duì)應(yīng)的文件。如我在下面創(chuàng)建了email.php文件,定義如下內(nèi)容:

  1. <?php 
  2. return [ 
  3. "user_emial" => "1005349393@qq.com" 
  4. ]; 

在我們系統(tǒng)中加載該配置項(xiàng)。

  1. var_dump(config("email.user_emial")); // 在系統(tǒng)默認(rèn)中,會(huì)給我們的環(huán)境變量都加一個(gè)PHP的前綴,并且都會(huì)將配置項(xiàng)轉(zhuǎn)換為大寫。這里我們使用我們的助手函數(shù)便可直接訪問配置項(xiàng)。 

4.模塊配置。這里大致講解一下即可。主要的就是在我們的模塊目錄下面創(chuàng)建對(duì)應(yīng)的config.php,database.php等文件即可。

5.場(chǎng)景配置。***這是本文的大招。場(chǎng)景配置主要是為了適應(yīng)我們不同的開發(fā)環(huán)境,例如我們?cè)诠镜沫h(huán)境和在家里面的環(huán)境配置不一致,此時(shí)我們可能需要修改很多地方,同時(shí)回到了公司又得修改過來,這樣豈不是很麻煩。

首先,我們?cè)赾onfig目錄下面的配置文件中加載一個(gè)配置項(xiàng)。

  1. 'app_status'             => 'office', // 這里的配置項(xiàng)的值就是我們對(duì)應(yīng)的配置環(huán)境。 

接下來,在我們的config目錄下面創(chuàng)建一個(gè)office.php(這里的文件名必須和上面配置項(xiàng)的值完全一致)

***,我們直接在我們的office.php配置文件中配置即可。其實(shí)在thinkphp還有個(gè)比較不錯(cuò)的功能就是.env。之前一直知道laravel有,沒主要thinkphp5,最近才發(fā)現(xiàn)。使用該功能對(duì)于開發(fā)中的配置又方便了很多了。很贊。

首先我們?cè)谖覀兊捻?xiàng)目目錄下面創(chuàng)建一個(gè).env的文件,里面配置我們的配置項(xiàng)。如下

  1. status= office 

我們要使用的話,直接使用框架自帶的env類即可。至于更多有關(guān)env的方法直接參考開發(fā)手冊(cè)。

  1. 'app_status' => Env::get("status");我們將上一步場(chǎng)景配置項(xiàng)中的值設(shè)置為.env文件中的配置項(xiàng)。一定要引入ENV這個(gè)類。 

通過我們的.env文件,只需要我們實(shí)現(xiàn)將一些配置文件配置好,或者將一些常用的配置文件放在.env文件中,我們就只修改這一個(gè)文件即可。

6.動(dòng)態(tài)配置。動(dòng)態(tài)配置顧名思義是隨著我們項(xiàng)目開發(fā)的需要來配置,而不是直接使用我們配置文件中的配置。下面列舉一個(gè)簡(jiǎn)單的實(shí)例。

  1. <?php 
  2. namespace app\index\controller; 
  3. use think\Controller; 
  4. class Index extends Controller 
  5.     public function index() 
  6.     { 
  7.         config("app_name""weixin"); // 在控制器中配置一個(gè)app_name的配置項(xiàng),這里也可以使用config類來操作。 
  8.     } 

本節(jié)小結(jié):本文講解的配置方式主要是為了項(xiàng)目開發(fā)方便,并非一定要這樣操作,可按照個(gè)人的習(xí)慣來操作。

原文鏈接:http://www.cnblogs.com/qqblog/p/6944867.html

【本文是51CTO專欄作者“漆齊”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過51CTO聯(lián)系原作者獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2011-04-02 16:37:26

PAT

2011-01-20 10:03:42

PostfixAdmi

2009-06-05 10:09:13

struts配置

2011-04-02 16:33:33

2010-08-05 10:18:19

Solaris nfs

2010-09-02 17:18:45

DHCP Server

2010-08-23 10:17:20

配置DHCP

2009-12-28 16:36:06

Fedora Samb

2010-03-16 16:03:52

Ubuntu vsft

2010-01-07 15:29:58

Ubuntu nfs

2011-03-23 09:31:42

LAMP安裝LAMP配置

2009-12-31 14:27:22

UBUNTU Orac

2009-10-12 10:17:37

RHEL5配置NFS

2010-06-02 13:37:28

Linux IPv6配

2010-09-29 14:45:04

配置DHCP

2010-06-22 12:52:37

Linux at命令

2010-08-30 17:22:35

DHCP中繼

2010-01-07 15:26:02

RedHat Linu

2011-04-01 10:07:04

2010-03-24 15:53:09

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)