首頁 php教程 php手册 PHPCMS配置文件的读取

PHPCMS配置文件的读取

Jun 13, 2016 am 09:32 AM
phpcms 讀取 設定檔

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

PHPCMS的入口文件index.php里的代码较少,主要做了三件事,如下:

<span>//</span><span>1.定义PHPCMS根目录(入口文件所在目录),PHPCMS_PATH全局可用</span>
<span>define</span>('PHPCMS_PATH', <span>dirname</span>(<span>__FILE__</span>).<span>DIRECTORY_SEPARATOR)

</span><span>//</span><span>2.引入框架入口文件(与入口文件同级的框架目录phpcms中的base.php)</span>
<span>include</span> PHPCMS_PATH.'/phpcms/base.php'<span>;

</span><span>//</span><span>3.调用框架入口文件中基类pc_base的静态方法create_app(),进行应用程序初始化</span>
pc_base::create_app();
登入後複製

代码虽少,但是将 做了很多事的框架入口文件base.php加载进来后,等于直接就进入了PHPCMS的核心。

---------------------------@chenwei 黑眼诗人 ---------------------------

简单说下base.php主要做的事:

1.定义一系列常量,如框架路径,缓存文件夹路径等,全局可用。

2.加载框架自带函数库,全局可用。

3.通过读取配置文件,将配置值定义为常量,全局可用。

4.自带PHPCMS基类(pc_base),定义了加载系统类,应用类,数据模型,系统函数库,应用函数库,插件类库,插件数据模型,配置文件等的方法。

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

上面定义了CSS路径为常量,以便 前后台的全局使用,那它是如何加载配置文件的,如下方法:

    /** <br />     * 加载配置文件 <br />     * @param string $file   配置文件 <br />     * @param string $key   要获取的配置键 <br />     * @param string $default 默认配置。当获取配置项目失败时该值发生作用。 <br />     * @param boolean $reload 强制重新加载。 <br />     */<br /><span>  public</span> <span>static</span> <span>function</span> load_config(<span>$file</span>, <span>$key</span> = '', <span>$default</span> = '', <span>$reload</span> = <span>false</span><span>) { </span>
        <span>static</span> <span>$configs</span> = <span>array</span><span>();          <span><span>//<span># 定义存放配置值的空数组</span></span></span><br /><br /></span>    //-----------------------------------------
        <span>if</span> (!<span>$reload</span> && <span>isset</span>(<span>$configs</span>[<span>$file</span><span>])) { <span>//<span># 如果重新加载 且 设置了$configs[$file](这里不执行)</span></span></span>
            <span>if</span> (<span>empty</span>(<span>$key</span><span>)) {</span>
                <span>return</span> <span>$configs</span>[<span>$file</span><span>];       <span>//<span># <span><span><span>如果配置键为空,返回整个配置数组(配置文件以一维数组形式返回,如:return array('a'=>'','b'=>''))</span></span></span></span></span>
            } </span><span>elseif</span> (<span>isset</span>(<span>$configs</span>[<span>$file</span>][<span>$key</span><span>])) { </span>
                <span>return</span> <span>$configs</span>[<span>$file</span>][<span>$key</span><span>];    <span><span>//<span># 如果设置了有配置键的值,返回</span></span></span>
            } </span><span>else</span><span> {</span>
                <span>return</span> <span>$default</span><span>;           <span><span>//<span># 默认返回配置default</span></span></span>
            }
        }<br />    //-----------------------------------------
</span>
        <span>$path</span> = CACHE_PATH.'configs'.DIRECTORY_SEPARATOR.<span>$file</span>.'.php'<span>;<span>//<span># 系统配置文件路径,$path = PHPCMS_PATH.'caches/configs/system.php';</span></span></span>
        <span>if</span> (<span>file_exists</span>(<span>$path</span><span>)) {</span>
            <span>$configs</span>[<span>$file</span>] = <span>include</span> <span>$path</span><span>;    <span><span><span>//<span># 如果system配置文件存在,引入</span></span></span></span>
        }
       </span>
        <span>if</span> (<span>empty</span>(<span>$key</span><span>)) {               <span><span><span><span>//<span># 根据$key取配置值,否则返回default值,同上虚线间代码</span></span></span></span></span></span>
            <span>return</span> <span>$configs</span>[<span>$file</span><span>];
        } </span><span>elseif</span> (<span>isset</span>(<span>$configs</span>[<span>$file</span>][<span>$key</span><span>])) {</span>
            <span>return</span> <span>$configs</span>[<span>$file</span>][<span>$key</span><span>];
        } </span><span>else</span><span> {</span>
            <span>return</span> <span>$default</span><span>;
        }
    }</span>
登入後複製

 所以在使用load_config()时,只需传入配置文件名 和 配置键,即可获取配置值; 一般获取配置项的原理类似。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
如何在技嘉主機板上設定鍵盤啟動功能 (技嘉主機板啟用鍵盤開機方式) 如何在技嘉主機板上設定鍵盤啟動功能 (技嘉主機板啟用鍵盤開機方式) Dec 31, 2023 pm 05:15 PM

技嘉的主機板怎麼設定鍵盤開機首先,要支援鍵盤開機,一定是PS2鍵盤! !設定步驟如下:第一步:開機按Del或F2進入bios,到bios的Advanced(進階)模式普通主機板預設進入主機板的EZ(簡易)模式,需要按F7切換到進階模式,ROG系列主機板預設進入bios的進階模式(我們用簡體中文來示範)第二步:選擇到-【進階】-【進階電源管理(APM)】第三步:找到選項【由PS2鍵盤喚醒】第四步:這個選項預設是Disabled(關閉)的,下拉之後可以看到三種不同的設定選擇,分別是按【空白鍵】開機、按組

CS玩家的首選:建議的電腦配置 CS玩家的首選:建議的電腦配置 Jan 02, 2024 pm 04:26 PM

1.處理器在選擇電腦配置時,處理器是至關重要的組件之一。對於玩CS這樣的遊戲來說,處理器的效能直接影響遊戲的流暢度和反應速度。建議選擇IntelCorei5或i7系列的處理器,因為它們具有強大的多核心處理能力和高頻率,可以輕鬆應對CS的高要求。 2.顯示卡顯示卡是遊戲表現的重要因素之一。對於射擊遊戲如CS而言,顯示卡的表現直接影響遊戲畫面的清晰度和流暢度。建議選擇NVIDIAGeForceGTX系列或AMDRadeonRX系列的顯示卡,它們具備出色的圖形處理能力和高幀率輸出,能夠提供更好的遊戲體驗3.內存電

如何使用pandas正確讀取txt文件 如何使用pandas正確讀取txt文件 Jan 19, 2024 am 08:39 AM

如何使用pandas正確讀取txt文件,需要具體程式碼範例Pandas是一個廣泛使用的Python資料分析函式庫,它可以用來處理各種各樣的資料類型,包括CSV檔案、Excel檔案、SQL資料庫等。同時,它也可以用於讀取文字文件,例如txt文件。但是,在讀取txt檔案時,我們有時會遇到一些問題,例如編碼問題、分隔符號問題等。本文將介紹如何使用pandas正確讀取txt

如何在 Windows 11 上啟用或停用 eSIM 如何在 Windows 11 上啟用或停用 eSIM Sep 20, 2023 pm 05:17 PM

如果你從行動電信商購買了筆記型電腦,則很可能可以選擇啟動eSIM並使用手機網路將電腦連接到網路。有了eSIM,您無需將另一張實體SIM卡插入筆記型電腦,因為它已經內建。當您的裝置無法連接到網路時,它非常有用。如何檢查我的Windows11裝置是否相容於eSIM卡?點擊“開始”按鈕,然後轉到“網路和互聯網”&gt;“蜂窩&gt;設定”。如果您沒有看到「蜂窩行動網路」選項,則您的裝置沒有eSIM功能,您應該選取其他選項,例如使用行動裝置將筆記型電腦連接到熱點。為了激活和

主機板上的數位音訊輸出介面-SPDIF OUT 主機板上的數位音訊輸出介面-SPDIF OUT Jan 14, 2024 pm 04:42 PM

主機板上SPDIFOUT連接線序最近我遇到了一個問題,就是關於電線的接線順序。我上網查了一下,有些資料說1、2、4對應的是out、+5V、接地;而有些資料則說1、2、4對應的是out、接地、+5V。最好的方法是查看你的主機板說明書,如果找不到說明書,你可以使用萬用電表進行測量。首先找到接地,然後就可以確定其他的接線順序了。主機板vdg怎麼接線連接主機板的VDG接線時,您需要將VGA連接線的一端插入顯示器的VGA接口,另一端插入電腦的顯示卡VGA接口。請注意,不要將其插入主機板的VGA介面。完成連接後,您可以

使用pandas讀取txt檔案的實用技巧 使用pandas讀取txt檔案的實用技巧 Jan 19, 2024 am 09:49 AM

使用pandas讀取txt檔案的實用技巧,需要具體程式碼範例在資料分析和資料處理中,txt檔案是一種常見的資料格式。使用pandas讀取txt檔案可以快速、方便地進行資料處理。本文將介紹幾種實用的技巧,以幫助你更好的使用pandas讀取txt文件,並配以具體的程式碼範例。讀取帶有分隔符號的txt檔案使用pandas讀取帶有分隔符號的txt檔案時,可以使用read_c

Pandas讀取網頁資料的實用方法 Pandas讀取網頁資料的實用方法 Jan 04, 2024 am 11:35 AM

Pandas讀取網頁資料的實用方法,需要具體程式碼範例在資料分析和處理過程中,我們經常需要從網頁中取得資料。而Pandas作為一種強大的資料處理工具,提供了方便的方法來讀取和處理網頁資料。本文將介紹幾種常用的Pandas讀取網頁資料的實用方法,並附上特定的程式碼範例。方法一:使用read_html()函數Pandas的read_html()函數可以直接從網頁讀

Java 中使用 OpenCSV 讀取和寫入 CSV 檔案的範例 Java 中使用 OpenCSV 讀取和寫入 CSV 檔案的範例 Dec 20, 2023 pm 01:39 PM

Java中使用OpenCSV讀取和寫入CSV檔案的範例CSV(Comma-SeparatedValues)指的是以逗號分隔的數值,是一種常見的資料儲存格式。在Java中,OpenCSV是一個常用的工具庫,用於讀取和寫入CSV檔案。本文將介紹如何使用OpenCSV來實作讀取和寫入CSV檔案的範例。引進OpenCSV庫首先,需要引進OpenCSV庫到

See all articles