ThinkPHP 구성 로딩 코드 최적화

咔咔
풀어 주다: 2020-10-09 16:08:24
원래의
1423명이 탐색했습니다.

이 글은 주로 Kaka의 프레임워크 코드 최적화에 관한 것입니다. 이것은 단지 Kaka의 최적화 아이디어입니다.

10. 2px; 배경색: rgba(27,31,35,.05); 글꼴 계열: 연산자 Mono, Consolas, Menlo, 고정폭; 색상: #1394d8; 단어 나누기: 일반; >thinkphp /library/think/Config.php의 loadFile 메소드는 여기서는 약간 우아하지 않은 것 같습니다. thinkphp/library/think/Config.php中方法loadFile这里看起来是不是有点不太优雅了。

既然在方法最后使用parse方法,也就是之前提到的工厂模式加载其它类型的配置文件。

那么为何不让这个工厂模式也加载PHP和yaml类型的配置文件。

ThinkPHP 구성 로딩 코드 최적화此时就需要在thinkphp/library/think/config/driver

parse 방법, 이는 모드가 로드되기 전에 언급되었습니다. 구성 파일의 종류.

그러므로 이 팩토리 모드에서 PHP 및 yaml 유형 구성 파일도 로드하도록 하는 것은 어떨까요?

여기에 이미지 설명 삽입이때 thinkphp/library/think/config/driver 이 디렉토리는 php 파일과 yaml 파일을 생성합니다.

먼저 PHP 파일을 만듭니다. 🎜🎜그리고 다른 세 가지 파일 형식을 흉내 내는 php 파일 형식에서는 파일인지 여부만 확인한 후 파일을 가져오면 됩니다. 🎜🎜프레임워크의 PHP 구성 파일은 모두 배열 형식이므로 Php.php 파일의 구문 분석 메서드가 config 속성을 직접 반환할 수 있습니다. 🎜

ThinkPHP 구성 로딩 코드 최적화재미있는 테스트를 시작해보세요! CONFIG_EXT 값은 이전에 env 파일에 yaml로 구성되어 있었습니다.

즉, config 디렉터리에 있는 구성 파일을 읽을 때 yaml 유형으로 확장된 파일만 읽을 수 있습니다.

그러므로 먼저 이 값을 다시 변경해야 하며 나중에 yaml 유형 팩토리 클래스를 작성한 후 사용할 수 있습니다.

테스트의 편의를 위해 config 디렉터리에 새 구성을 추가하세요

ThinkPHP 구성 로딩 코드 최적화그런 다음 구성 클래스의 lodeFile 메소드에서 php 및 yaml 유형을 결정하는 코드를 주석 처리하세요

ThinkPHP 구성 로딩 코드 최적화
여기에 그림 설명을 삽입하세요

컨트롤러에서 config/app.php 구성을 읽어보세요

ThinkPHP 구성 로딩 코드 최적화결과 인쇄

인쇄된 결과에는 결함이 없습니다. 이는 우리가 단순히 최적화한 코드에 불편함이 없다는 의미입니다. ThinkPHP 구성 로딩 코드 최적화yaml의 경우에도 마찬가지입니다. 최종 데이터를 배열로 변환하고 반환하기만 하면 됩니다.

ThinkPHP 구성 로딩 코드 최적화위는 프레임워크 구성 파일을 로드하기 위한 기본 소스 코드에 대한 Kaka의 최적화 분석 과정입니다. 불편한 점이 있으면 댓글 영역에서 지적하실 수 있습니다.

배움에 대한 끈기, 블로그에 대한 끈기, 공유에 대한 끈기 등은 카카가 초창기부터 늘 지켜온 신념입니다. 거대 인터넷에 올라온 카카의 글이 조금이나마 도움이 되었으면 좋겠습니다. 저는 카카입니다. 다음에 만나요.

위 내용은 ThinkPHP 구성 로딩 코드 최적화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿