成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

thinkphp 5 配置講解

開發 開發工具
本文講解的配置方式主要是為了項目開發方便,并非一定要這樣操作,可按照個人的習慣來操作。

 [[204500]]

一、thinkphp配置類型有哪些?

1.在thinkphp中,有6種配置。即慣例配置,應用配置、擴展配置、模塊配置、場景配置、動態配置。

2.慣例配置就是系統默認的配置。

3.應用配置就是我們自己開發創建的應用單獨的配置。

4.擴展配置主要是實現我們項目在開發過程中有一些擴展程序用到的配置。

5.模塊配置就是我們在一個應用中,每一個模塊的配置。

6.場景配置主要是實現我們在不同的開發環境中設置的配置。若我們在家里面辦公,電腦環境可能不一樣;公司里面辦公,公司的電腦環境有不一樣。

7.動態配置在我們模塊中開發實現的動態配置。如我們在某一個控制器中定義數據庫的配置。

二、thinkphp配置的實現原理是什么樣的?

1.thinkphp實現這樣不同類型的配置,很大程度上面方面了我們進行模塊化配置,增強了配置的靈活性。

2.thinkphp的配置加載順序主要是按照如下順序。動態配置》》模塊配置》》擴展配置》》應用配置》》慣例配置

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

三、為什么要實現這樣的配置?

1.通過不同類型的配置,我們便于項目的配置管理。加入我們就使用框架自帶的配置,當我們在某個模塊開發中,需要將數據存在另外一臺服務器的數據庫上,是不是我們的項目就不能實現了。像這種情況還很多,這只是一個簡單的例子。

四、配置文件要求

在所有的配置文件中都是采用數組的方式,當我們系統在加載該配置文件時,都會return一個數組,這個數組就是我們的配置項目。我們在系統中訪問配置項,可以使用config()助手函數,也可以使用config類

五、如何是實現這些類型的配置呢?

1.慣例配置。

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

2.應用配置。

我們在創建項目時,框架會默認在application目錄西面創建config.php,database.php等配置文件。我們直接在相應的文件中進行操作即可。下面單獨講解的主要是采用創建一個目錄來配置,效果都是一樣的,無非是換了個文件路徑而已。

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

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

接下來在該目錄下面直接創建配置文件即可,創建的文件名稱不一定局限于config,database。至于文件里面的配置項和convention.php配置文件的方式一致。當我們在項目運行過程中,會自動的加載該目錄下面的配置項。

3.擴展配置。擴展配置主要是我們在開發中用它的一些數據的擴展使用,如我們使用郵箱,要涉及到郵箱的賬號。便可以在該目錄下面配置。我們在config目錄下面創建一個extra目錄,在該目錄下面創建對應的文件。如我在下面創建了email.php文件,定義如下內容:

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

在我們系統中加載該配置項。

  1. var_dump(config("email.user_emial")); // 在系統默認中,會給我們的環境變量都加一個PHP的前綴,并且都會將配置項轉換為大寫。這里我們使用我們的助手函數便可直接訪問配置項。 

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

5.場景配置。***這是本文的大招。場景配置主要是為了適應我們不同的開發環境,例如我們在公司的環境和在家里面的環境配置不一致,此時我們可能需要修改很多地方,同時回到了公司又得修改過來,這樣豈不是很麻煩。

首先,我們在config目錄下面的配置文件中加載一個配置項。

  1. 'app_status'             => 'office', // 這里的配置項的值就是我們對應的配置環境。 

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

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

首先我們在我們的項目目錄下面創建一個.env的文件,里面配置我們的配置項。如下

  1. status= office 

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

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

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

6.動態配置。動態配置顧名思義是隨著我們項目開發的需要來配置,而不是直接使用我們配置文件中的配置。下面列舉一個簡單的實例。

  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"); // 在控制器中配置一個app_name的配置項,這里也可以使用config類來操作。 
  8.     } 

本節小結:本文講解的配置方式主要是為了項目開發方便,并非一定要這樣操作,可按照個人的習慣來操作。

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

【本文是51CTO專欄作者“漆齊”的原創稿件,轉載請通過51CTO聯系原作者獲取授權】

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

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2011-01-20 10:03:42

PostfixAdmi

2011-04-02 16:37:26

PAT

2010-08-05 10:18:19

Solaris nfs

2010-09-02 17:18:45

DHCP Server

2009-06-05 10:09:13

struts配置

2011-04-02 16:33:33

2010-08-23 10:17:20

配置DHCP

2009-12-28 16:36:06

Fedora Samb

2010-03-16 16:03:52

Ubuntu vsft

2009-12-31 14:27:22

UBUNTU Orac

2011-03-23 09:31:42

LAMP安裝LAMP配置

2010-01-07 15:29:58

Ubuntu nfs

2009-10-12 10:17:37

RHEL5配置NFS

2010-09-29 14:45:04

配置DHCP

2010-06-02 13:37:28

Linux IPv6配

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

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 三级在线免费 | 亚洲第一av网站 | 国产日韩一区二区三免费高清 | 黄色欧美 | 久久99久久| 美女在线观看av | 亚洲欧美中文日韩在线v日本 | 精品国产乱码一区二区三 | 日韩一区欧美一区 | 欧洲在线视频 | 亚洲一区二区三区视频免费观看 | 欧美乱大交xxxxx另类电影 | 国产九九精品 | 午夜精品91 | 久久亚洲一区二区三区四区 | 国产乱码精品一区二区三区中文 | 欧美 日韩 国产 在线 | 精品久久国产 | 国产高清一区二区三区 | 亚洲国产精品一区二区三区 | 免费欧美| 日韩一区二区福利视频 | 伊人久久麻豆 | 污污免费网站 | 欧美激情综合网 | 国产视频一区二区 | 亚洲欧美国产视频 | 中文字幕日韩一区 | 亚州综合一区 | 国产一区二区久久 | 中文字幕乱码视频32 | 亚洲网站在线播放 | 精品动漫一区 | www日韩 | www312aⅴ欧美在线看 | 久久精品国产一区二区电影 | www.国产精 | 国产激情片在线观看 | 亚洲一区中文字幕在线观看 | 中文字幕在线三区 | 亚洲久草|