程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHPCMS配置文件的讀取

PHPCMS配置文件的讀取

編輯:關於PHP編程

---------------------------------------------------------------------------------------------------

PHPCMS的入口文件index.php裡的代碼較少,主要做了三件事,如下:

//1.定義PHPCMS根目錄(入口文件所在目錄),PHPCMS_PATH全局可用
define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR)

//2.引入框架入口文件(與入口文件同級的框架目錄phpcms中的base.php)
include PHPCMS_PATH.'/phpcms/base.php';

//3.調用框架入口文件中基類pc_base的靜態方法create_app(),進行應用程序初始化
pc_base::create_app();

代碼雖少,但是將 做了很多事的框架入口文件base.php加載進來後,等於直接就進入了PHPCMS的核心。

---------------------------@chenwei 黑眼詩人 <www.chenwei.ws>---------------------------

簡單說下base.php主要做的事:

1.定義一系列常量,如框架路徑,緩存文件夾路徑等,全局可用。

2.加載框架自帶函數庫,全局可用。

3.通過讀取配置文件,將配置值定義為常量,全局可用。

4.自帶PHPCMS基類(pc_base),定義了加載系統類,應用類,數據模型,系統函數庫,應用函數庫,插件類庫,插件數據模型,配置文件等的方法。

 

define('CSS_PATH', pc_base::load_config('system', 'css_path'));

上面定義了CSS路徑為常量,以便 前後台的全局使用,那它是如何加載配置文件的,如下方法:

    /** 
     * 加載配置文件
     * @param string $file   配置文件
     * @param string $key   要獲取的配置鍵
     * @param string $default 默認配置。當獲取配置項目失敗時該值發生作用。
     * @param boolean $reload 強制重新加載。
     */
  public static function load_config($file, $key = '', $default = '', $reload = false) {  static $configs = array();          //# 定義存放配置值的空數組

    //----------------------------------------- if (!$reload && isset($configs[$file])) { //# 如果重新加載 且 設置了$configs[$file](這裡不執行) if (empty($key)) { return $configs[$file];       //# 如果配置鍵為空,返回整個配置數組(配置文件以一維數組形式返回,如:return array('a'=>'','b'=>'')) } elseif (isset($configs[$file][$key])) { return $configs[$file][$key];    //# 如果設置了有配置鍵的值,返回 } else { return $default;           //# 默認返回配置default } }
    //----------------------------------------- $path = CACHE_PATH.'configs'.DIRECTORY_SEPARATOR.$file.'.php';//# 系統配置文件路徑,$path = PHPCMS_PATH.'caches/configs/system.php'; if (file_exists($path)) { $configs[$file] = include $path;    //# 如果system配置文件存在,引入 } if (empty($key)) {               //# 根據$key取配置值,否則返回default值,同上虛線間代碼 return $configs[$file]; } elseif (isset($configs[$file][$key])) { return $configs[$file][$key]; } else { return $default; } }

 所以在使用load_config()時,只需傳入配置文件名 和 配置鍵,即可獲取配置值; 一般獲取配置項的原理類似。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved