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 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

GIGABYTE 마더보드에서 키보드 부팅 기능을 설정하는 방법(GIGABYTE 마더보드에서 키보드 부팅 모드 활성화) GIGABYTE 마더보드에서 키보드 부팅 기능을 설정하는 방법(GIGABYTE 마더보드에서 키보드 부팅 모드 활성화) Dec 31, 2023 pm 05:15 PM

Gigabyte 마더보드에서 키보드 시작을 설정하는 방법 먼저, 키보드 시작을 지원해야 한다면 PS2 키보드여야 합니다! ! 설정 단계는 다음과 같습니다. 1단계: 부팅 후 Del 또는 F2를 눌러 BIOS에 들어가고, BIOS의 고급(Advanced) 모드로 들어갑니다. 일반 마더보드는 기본적으로 마더보드의 EZ(Easy) 모드로 들어갑니다. F7을 눌러 고급 모드로 전환합니다. ROG 시리즈 마더보드는 기본적으로 BIOS로 들어갑니다. 고급 모드(간체 중국어를 사용하여 설명) 2단계: - [고급] - [고급 전원 관리(APM)]를 선택합니다. [PS2 키보드로 깨우기] 옵션 찾기 4단계: 이 옵션 기본값은 비활성화입니다. 아래로 당기면 세 가지 다른 설정 옵션이 표시됩니다. 즉, 컴퓨터를 켜려면 [스페이스바]를 누르고 그룹을 누르세요.

CS 플레이어를 위한 첫 번째 선택: 권장 컴퓨터 구성 CS 플레이어를 위한 첫 번째 선택: 권장 컴퓨터 구성 Jan 02, 2024 pm 04:26 PM

1. 프로세서 컴퓨터 구성을 선택할 때 프로세서는 가장 중요한 구성 요소 중 하나입니다. CS와 같은 게임을 플레이할 때 프로세서의 성능은 게임의 부드러움과 응답 속도에 직접적인 영향을 미칩니다. Intel Core i5 또는 i7 시리즈 프로세서는 강력한 멀티 코어 처리 기능과 높은 주파수를 갖추고 CS의 높은 요구 사항에 쉽게 대처할 수 있으므로 선택하는 것이 좋습니다. 2. 그래픽 카드 그래픽 카드는 게임 성능을 좌우하는 중요한 요소 중 하나입니다. CS 등 슈팅 게임에서는 그래픽 카드의 성능이 게임 화면의 선명도와 부드러움에 직접적인 영향을 미칩니다. NVIDIA GeForce GTX 시리즈 또는 AMD Radeon RX 시리즈 그래픽 카드를 선택하는 것이 좋습니다. 이 카드는 뛰어난 그래픽 처리 기능과 높은 프레임 속도 출력을 갖추고 있으며 더 나은 게임 경험을 제공할 수 있습니다.

Windows 11에서 eSIM을 활성화 또는 비활성화하는 방법 Windows 11에서 eSIM을 활성화 또는 비활성화하는 방법 Sep 20, 2023 pm 05:17 PM

이동통신사에서 노트북을 구입했다면 eSIM을 활성화하고 셀룰러 네트워크를 사용하여 컴퓨터를 인터넷에 연결할 수 있는 옵션이 있었을 것입니다. eSIM을 사용하면 다른 물리적 SIM 카드가 이미 내장되어 있으므로 노트북에 다른 물리적 SIM 카드를 삽입할 필요가 없습니다. 장치가 네트워크에 연결되지 않을 때 매우 유용합니다. 내 Windows 11 장치가 eSIM과 호환되는지 확인하는 방법은 무엇입니까? 시작 버튼을 클릭하고 네트워크 및 인터넷 &gt; 셀룰러 &gt; '셀룰러' 옵션이 표시되지 않으면 기기에 eSIM 기능이 없는 것이므로 모바일 기기를 사용하여 노트북을 핫스팟에 연결하는 등의 다른 옵션을 확인해야 합니다. 활성화하고

Pandas를 사용하여 txt 파일을 올바르게 읽는 방법 Pandas를 사용하여 txt 파일을 올바르게 읽는 방법 Jan 19, 2024 am 08:39 AM

Pandas를 사용하여 txt 파일을 올바르게 읽으려면 특정 코드 예제가 필요합니다. Pandas는 널리 사용되는 Python 데이터 분석 라이브러리로 CSV 파일, Excel 파일, SQL 데이터베이스 등을 포함하여 다양한 데이터 유형을 처리하는 데 사용할 수 있습니다. 동시에 txt 파일과 같은 텍스트 파일을 읽는 데에도 사용할 수 있습니다. 그러나 txt 파일을 읽을 때 인코딩 문제, 구분 기호 문제 등과 같은 몇 가지 문제가 발생할 수 있습니다. 이 기사에서는 팬더를 사용하여 txt를 올바르게 읽는 방법을 소개합니다.

Pandas를 사용하여 txt 파일을 읽는 실용적인 팁 Pandas를 사용하여 txt 파일을 읽는 실용적인 팁 Jan 19, 2024 am 09:49 AM

Pandas를 사용하여 txt 파일을 읽는 실용적인 팁, 데이터 분석 및 데이터 처리에서 txt 파일은 일반적인 데이터 형식입니다. Pandas를 사용하여 txt 파일을 읽으면 빠르고 편리한 데이터 처리가 가능합니다. 이 기사에서는 특정 코드 예제와 함께 pandas를 사용하여 txt 파일을 더 잘 읽는 데 도움이 되는 몇 가지 실용적인 기술을 소개합니다. 구분 기호가 있는 txt 파일 읽기 팬더를 사용하여 구분 기호가 있는 txt 파일을 읽을 때 read_c를 사용할 수 있습니다.

Java에서 OpenCSV를 사용하여 CSV 파일을 읽고 쓰는 예 Java에서 OpenCSV를 사용하여 CSV 파일을 읽고 쓰는 예 Dec 20, 2023 pm 01:39 PM

OpenCSV를 사용하여 Java에서 CSV 파일을 읽고 쓰는 예입니다. CSV(Comma-SeparatedValues)는 쉼표로 구분된 값을 나타내며 일반적인 데이터 저장 형식입니다. Java에서 OpenCSV는 CSV 파일을 읽고 쓰는 데 일반적으로 사용되는 도구 라이브러리입니다. 이 기사에서는 OpenCSV를 사용하여 CSV 파일을 읽고 쓰는 예제를 구현하는 방법을 소개합니다. OpenCSV 라이브러리 소개 먼저 OpenCSV 라이브러리를 소개해야 합니다.

마더보드의 디지털 오디오 출력 인터페이스 - SPDIF OUT 마더보드의 디지털 오디오 출력 인터페이스 - SPDIF OUT Jan 14, 2024 pm 04:42 PM

마더보드의 SPDIFOUT 연결 라인 순서 최근에 전선의 배선 순서에 문제가 발생했습니다. 온라인에서 확인해 보니 1, 2, 4가 out, +5V, ground에 해당한다는 정보도 있고, 1, 2, 4가 out, ground, +5V에 해당한다는 정보도 있습니다. 가장 좋은 방법은 마더보드 설명서를 확인하는 것입니다. 설명서를 찾을 수 없으면 멀티미터를 사용하여 측정할 수 있습니다. 먼저 접지를 찾은 다음 나머지 배선의 순서를 결정할 수 있습니다. 마더보드 VDG 배선 연결 방법 마더보드의 VDG 배선을 연결할 때 VGA 케이블의 한쪽 끝을 모니터의 VGA 인터페이스에 연결하고 다른 쪽 끝을 컴퓨터 그래픽 카드의 VGA 인터페이스에 연결해야 합니다. 마더보드의 VGA 포트에 연결하지 않도록 주의하세요. 연결되면 다음을 수행할 수 있습니다.

Pandas로 웹페이지 데이터를 읽는 실용적인 방법 Pandas로 웹페이지 데이터를 읽는 실용적인 방법 Jan 04, 2024 am 11:35 AM

Pandas에서 웹페이지 데이터를 읽는 실용적인 방법에는 특정 코드 예제가 필요합니다. 데이터 분석 및 처리 중에 웹페이지에서 데이터를 가져와야 하는 경우가 많습니다. 강력한 데이터 처리 도구인 Pandas는 웹 페이지 데이터를 읽고 처리하는 편리한 방법을 제공합니다. 이 기사에서는 Pandas에서 웹페이지 데이터를 읽는 데 일반적으로 사용되는 몇 가지 실용적인 방법을 소개하고 특정 코드 예제를 첨부합니다. 방법 1: read_html() 함수를 사용하여 Pandas의 read_html() 함수를 웹 페이지에서 직접 읽을 수 있습니다.

See all articles