ThinkPHP 시스템은 세 가지 파일 로딩 방법을 제공합니다:
함수 라이브러리 양식 로딩:
함수 라이브러리에는 ThinkPHP의 세 가지 범주가 포함됩니다: 시스템 함수 라이브러리 파일(functions.php), 애플리케이션 수준 함수 라이브러리 파일, 그룹 수준 함수 파일.
이 세 가지 유형의 함수 라이브러리 파일 중 시스템 함수 라이브러리 파일(functions.php)만 시스템에 기본적으로 존재하고 나머지 두 가지 유형의 함수 라이브러리 형식은 직접 만들어야 합니다.
동시에 시스템 함수 라이브러리 파일의 이름은 function.php이고 다른 두 가지 유형의 함수 라이브러리 형식 파일의 이름은 function.php라는 점에 유의하세요.
사례: 함수 라이브러리 양식을 사용하여 사용해야 하는 함수를 정의하세요. 함수 이름: testfunction
<?php function testfunction(){ echo 'testfunction'; } public function test(){ testfunction(); }
표시 결과:
정의된 함수 라이브러리 파일의 함수는 사용 시 PHP 내장 함수 구문의 요구 사항을 따라야 합니다. 함수 이름(매개 변수)을 직접 작성하면 됩니다.
지침:
첫 번째: function.php를 도입할 필요가 없습니다. 시스템은 실행 중에 자동으로 function.php 파일을 도입합니다.
두 번째: 함수가 애플리케이션 수준 함수 라이브러리 파일에 정의된 경우, 그러면 모든 그룹(전체 애플리케이션)에서 사용할 수 있습니다. 특정 그룹의 함수 라이브러리 파일에 함수가 정의되어 있으면 현재 그룹에서만 사용할 수 있습니다. 그렇지 않으면 함수가 정의되지 않은 것으로 보고됩니다.
구성 항목을 통한 동적 로딩:
시스템 실행 과정에서 App.class.php
static public function init() { // 加载动态应用公共文件和配置 load_ext_file(COMMON_PATH);
load_ext_file 함수가 이 방법으로 실행됩니다.
이 메소드는 PHP에 내장된 메소드는 아니지만 시스템 함수 라이브러리 파일에 정의되어 있습니다:
function load_ext_file($path) { // 加载自定义外部文件 if($files = C('LOAD_EXT_FILE')) { $files = explode(',',$files); foreach ($files as $file){ $file = $path.'Common/'.$file.'.php'; if(is_file($file)) include $file; } }
확장: C 메소드
C 메소드도 빠른 메소드 중 하나이며 해당 기능은 다음과 같습니다. ThinkPHP 항목에서 구성을 작동하려면:
C(name,value); 구성 항목 이름의 값을 설정합니다. 값은 value
C(name)입니다. 구성 항목 이름
C()의 값을 읽습니다. ; 모든 구성 항목 읽기
구성 항목:
애플리케이션 수준 구성 파일에서 구성 항목 LOAD_EXT_FILE을 정의하고 info.php 파일을 소개합니다.
'load_ext_file' => 'info', //包含文件名的字符串,多个文件名通过使用英文半角逗号分割
응용 프로그램 함수 라이브러리 파일 디렉터리에 info.php를 정의합니다
<?php function getInfo(){ phpinfo(); }
테스트:
public function test(){ getInfo(); }
표시 결과:
동일한 파일이 시스템 캡슐화 방식으로 처리되었다는 점에 유의하세요. 따라서 특정 함수를 사용하는 경우에는 별도로 파일을 import할 필요 없이 사용할 함수명을 함수 라이브러리 파일 형태로 직접 작성하고 해당 매개변수만 전달하면 됩니다.
로드 방법을 통한 로드
구문:
load(‘@/不带后缀的php文件名’);
파일은 그룹 수준의 함수 라이브러리 디렉터리에 있어야 하며 정의된 그룹에서만 사용할 수 있다는 점에 유의하세요.
사례: 그룹 디렉토리에 hello.php 파일을 직접 생성한 후, 그 안에 함수를 정의한 후, load 메소드를 사용하여 해당 함수를 로드하고 사용하세요.
<?php function sayhello($who){ echo 'hello ' . $who; }
hello.php 파일을 로드하려면 컨트롤러의 로드 방법을 사용하세요:
public function test(){ //load load('@/hello'); //调用函数 sayhello(world); }
표시 효과:
참고: 위의 세 가지 파일 로드 방법은 실제 개발 중에 사용할 수 있지만 일반적으로 첫 번째( 함수 라이브러리를 통해 자동으로 로드됩니다).
추천 튜토리얼: thinkphp 튜토리얼
위 내용은 ThinkPHP의 여러 파일 로딩 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!