이 글은 주로 Kaka의 프레임워크 코드 최적화에 관한 것입니다. 이것은 단지 Kaka의 최적화 아이디어입니다.
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/library/think/config/driver
parse
방법, 이는 모드가 로드되기 전에 언급되었습니다. 구성 파일의 종류. 그러므로 이 팩토리 모드에서 PHP 및 yaml 유형 구성 파일도 로드하도록 하는 것은 어떨까요?
이때 thinkphp/library/think/config/driver
이 디렉토리는 php 파일과 yaml 파일을 생성합니다. 먼저 PHP 파일을 만듭니다. 🎜🎜그리고 다른 세 가지 파일 형식을 흉내 내는 php 파일 형식에서는 파일인지 여부만 확인한 후 파일을 가져오면 됩니다. 🎜🎜프레임워크의 PHP 구성 파일은 모두 배열 형식이므로 Php.php 파일의 구문 분석 메서드가 config 속성을 직접 반환할 수 있습니다. 🎜재미있는 테스트를 시작해보세요! CONFIG_EXT 값은 이전에 env 파일에 yaml로 구성되어 있었습니다.
즉, config 디렉터리에 있는 구성 파일을 읽을 때 yaml 유형으로 확장된 파일만 읽을 수 있습니다.
그러므로 먼저 이 값을 다시 변경해야 하며 나중에 yaml 유형 팩토리 클래스를 작성한 후 사용할 수 있습니다.
테스트의 편의를 위해 config 디렉터리에 새 구성을 추가하세요
그런 다음 구성 클래스의 lodeFile 메소드에서 php 및 yaml 유형을 결정하는 코드를 주석 처리하세요
컨트롤러에서 config/app.php 구성을 읽어보세요
결과 인쇄
인쇄된 결과에는 결함이 없습니다. 이는 우리가 단순히 최적화한 코드에 불편함이 없다는 의미입니다. yaml의 경우에도 마찬가지입니다. 최종 데이터를 배열로 변환하고 반환하기만 하면 됩니다.
위는 프레임워크 구성 파일을 로드하기 위한 기본 소스 코드에 대한 Kaka의 최적화 분석 과정입니다. 불편한 점이 있으면 댓글 영역에서 지적하실 수 있습니다.
배움에 대한 끈기, 블로그에 대한 끈기, 공유에 대한 끈기 등은 카카가 초창기부터 늘 지켜온 신념입니다. 거대 인터넷에 올라온 카카의 글이 조금이나마 도움이 되었으면 좋겠습니다. 저는 카카입니다. 다음에 만나요.
위 내용은 ThinkPHP 구성 로딩 코드 최적화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!