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

PHPCMS配置文件的读取

Jun 13, 2016 am 09:32 AM
phpcms daripada membaca Fail konfigurasi

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

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();
Salin selepas log masuk

代码虽少,但是将 做了很多事的框架入口文件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>
Salin selepas log masuk

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyediakan fungsi but papan kekunci pada papan induk GIGABYTE (dayakan mod but papan kekunci pada papan induk GIGABYTE) Bagaimana untuk menyediakan fungsi but papan kekunci pada papan induk GIGABYTE (dayakan mod but papan kekunci pada papan induk GIGABYTE) Dec 31, 2023 pm 05:15 PM

Bagaimana untuk menyediakan permulaan papan kekunci pada papan induk Gigabyte Pertama, jika ia perlu menyokong permulaan papan kekunci, ia mestilah papan kekunci PS2! ! Langkah-langkah tetapan adalah seperti berikut: Langkah 1: Tekan Del atau F2 untuk memasuki BIOS selepas but, dan masukkan mod Lanjutan (Lanjutan) BIOS Papan induk biasa masukkan mod EZ (Mudah) papan induk secara lalai untuk menekan F7 untuk beralih ke mod Lanjutan papan induk siri ROG masukkan BIOS secara lalai (kami menggunakan Bahasa Cina Mudah untuk menunjukkan) Langkah 2: Pilih untuk - [Lanjutan] - [Pengurusan Kuasa Lanjutan (APM)] Langkah 3: Cari pilihan [Bangun dengan papan kekunci PS2] Langkah 4: Pilihan lalai ini Dilumpuhkan Selepas menarik ke bawah, anda boleh melihat tiga pilihan tetapan yang berbeza, termasuk menekan [bar ruang] untuk menghidupkan komputer dan menekan butang kumpulan.

Pilihan pertama untuk pemain CS: konfigurasi komputer yang disyorkan Pilihan pertama untuk pemain CS: konfigurasi komputer yang disyorkan Jan 02, 2024 pm 04:26 PM

1. Pemproses Apabila memilih konfigurasi komputer, pemproses adalah salah satu komponen yang paling penting. Untuk permainan seperti CS, prestasi pemproses secara langsung mempengaruhi kelancaran dan kelajuan tindak balas permainan. Adalah disyorkan untuk memilih pemproses siri Intel Core i5 atau i7 kerana ia mempunyai keupayaan pemprosesan berbilang teras yang berkuasa dan frekuensi tinggi, dan dengan mudah boleh menampung keperluan CS yang tinggi. 2. Kad grafik Kad grafik merupakan salah satu faktor penting dalam prestasi permainan. Untuk permainan menembak seperti CS, prestasi kad grafik secara langsung mempengaruhi kejelasan dan kelancaran skrin permainan. Adalah disyorkan untuk memilih siri NVIDIA GeForce GTX atau kad grafik siri AMD Radeon RX Mereka mempunyai keupayaan pemprosesan grafik yang sangat baik dan output kadar bingkai yang tinggi, dan boleh memberikan pengalaman permainan yang lebih baik

Bagaimana untuk mendayakan atau melumpuhkan eSIM pada Windows 11 Bagaimana untuk mendayakan atau melumpuhkan eSIM pada Windows 11 Sep 20, 2023 pm 05:17 PM

Jika anda membeli komputer riba anda daripada pengendali mudah alih, kemungkinan besar anda mempunyai pilihan untuk mengaktifkan eSIM dan menggunakan rangkaian selular anda untuk menyambungkan komputer anda ke Internet. Dengan eSIM, anda tidak perlu memasukkan kad SIM fizikal lain ke dalam komputer riba anda kerana ia sudah terbina dalam. Ia sangat berguna apabila peranti anda tidak dapat menyambung ke rangkaian. Bagaimana untuk menyemak sama ada peranti Windows 11 saya serasi dengan eSIM? Klik butang Mula dan pergi ke Tetapan Rangkaian & Internet &gt; Jika anda tidak melihat pilihan "Selular", peranti anda tidak mempunyai keupayaan eSIM dan anda harus menyemak pilihan lain, seperti menggunakan peranti mudah alih anda untuk menyambungkan komputer riba anda ke tempat liputan. Untuk mengaktifkan dan

Cara membaca fail txt dengan betul menggunakan panda Cara membaca fail txt dengan betul menggunakan panda Jan 19, 2024 am 08:39 AM

Cara menggunakan panda untuk membaca fail txt dengan betul memerlukan contoh kod khusus Pandas ialah perpustakaan analisis data Python yang digunakan secara meluas. Ia boleh digunakan untuk memproses pelbagai jenis data, termasuk fail CSV, fail Excel, pangkalan data SQL, dll. Pada masa yang sama, ia juga boleh digunakan untuk membaca fail teks, seperti fail txt. Walau bagaimanapun, apabila membaca fail txt, kadangkala kami menghadapi beberapa masalah, seperti masalah pengekodan, masalah pembatas, dsb. Artikel ini akan memperkenalkan cara membaca txt dengan betul menggunakan panda

Petua praktikal untuk membaca fail txt menggunakan panda Petua praktikal untuk membaca fail txt menggunakan panda Jan 19, 2024 am 09:49 AM

Petua praktikal untuk membaca fail txt menggunakan panda, contoh kod khusus diperlukan Dalam analisis data dan pemprosesan data, fail txt ialah format data biasa. Menggunakan panda untuk membaca fail txt membolehkan pemprosesan data yang cepat dan mudah. Artikel ini akan memperkenalkan beberapa teknik praktikal untuk membantu anda menggunakan panda dengan lebih baik untuk membaca fail txt, bersama-sama dengan contoh kod tertentu. Baca fail txt dengan pembatas Apabila menggunakan panda untuk membaca fail txt dengan pembatas, anda boleh menggunakan read_c

Antara muka output audio digital pada papan induk-SPDIF OUT Antara muka output audio digital pada papan induk-SPDIF OUT Jan 14, 2024 pm 04:42 PM

Urutan talian sambungan SPDIFOUT pada papan induk Baru-baru ini, saya menghadapi masalah mengenai urutan pendawaian wayar. Saya menyemak dalam talian Beberapa maklumat mengatakan bahawa 1, 2, dan 4 sepadan dengan keluar, +5V, dan tanah manakala maklumat lain mengatakan bahawa 1, 2, dan 4 sepadan dengan keluar, tanah dan +5V. Cara terbaik ialah menyemak manual papan induk anda Jika anda tidak menemui manual, anda boleh menggunakan multimeter untuk mengukurnya. Cari tanah dahulu, kemudian anda boleh menentukan susunan pendawaian yang lain. Cara menyambung pendawaian VDG papan induk Apabila menyambungkan pendawaian VDG papan induk, anda perlu palamkan satu hujung kabel VGA ke antara muka VGA monitor dan hujung satu lagi ke antara muka VGA kad grafik komputer. Sila berhati-hati untuk tidak memasukkannya ke dalam port VGA motherboard. Setelah disambungkan, anda boleh

Contoh membaca dan menulis fail CSV menggunakan OpenCSV dalam Java Contoh membaca dan menulis fail CSV menggunakan OpenCSV dalam Java Dec 20, 2023 pm 01:39 PM

Contoh penggunaan OpenCSV untuk membaca dan menulis fail CSV dalam Java CSV (Comma-SeparatedValues) merujuk kepada nilai yang dipisahkan koma dan merupakan format storan data biasa. Di Java, OpenCSV ialah perpustakaan alat yang biasa digunakan untuk membaca dan menulis fail CSV. Artikel ini akan memperkenalkan cara menggunakan OpenCSV untuk melaksanakan contoh membaca dan menulis fail CSV. Memperkenalkan perpustakaan OpenCSV Pertama, anda perlu memperkenalkan perpustakaan OpenCSV kepada

Kaedah praktikal untuk membaca data halaman web dengan Panda Kaedah praktikal untuk membaca data halaman web dengan Panda Jan 04, 2024 am 11:35 AM

Kaedah praktikal membaca data halaman web dalam Pandas memerlukan contoh kod khusus Semasa analisis dan pemprosesan data, kita selalunya perlu mendapatkan data daripada halaman web. Sebagai alat pemprosesan data yang berkuasa, Pandas menyediakan kaedah yang mudah untuk membaca dan memproses data halaman web. Artikel ini akan memperkenalkan beberapa kaedah praktikal yang biasa digunakan untuk membaca data halaman web dalam Panda dan melampirkan contoh kod tertentu. Kaedah 1: Gunakan fungsi read_html() fungsi read_html() Pandas boleh membaca terus dari halaman web.

See all articles