PHP의 다른 파일에서 PHP 코드를 사용해야 하는 경우에는 include, include_once, require, require_once를 사용하여 클래스 파일을 도입할 수 있습니다. require와 include의 차이점은 구문 엄격성의 차이입니다. 가져온 파일에서 오류가 발생하면 include 구문을 사용하여 오류가 보고되지만 후속 명령문은 계속 실행됩니다. require는 오류가 발생한 후 실행을 중지합니다.
include와 include_once의 차이점은 include를 사용하면 존재할 때 한 번만 가져오고, include_once는 동일한 파일을 가져올 때 한 번만 가져옵니다.
일반적으로 가져온 파일이 많이 포함되어 사용될 수 있으므로, include/require 문을 많이 작성해야 합니다. 이런 상황에서는 자동 로딩을 사용할 수 있습니다.
1. __autoload() 마법 함수를 사용하세요:
프로그램이 "클래스를 요구"하면 시스템은 자동으로 이 함수를 호출하며, 이 함수는 스스로 정의해야 합니다:
function __autoload($className){ require "需要引入文件的路径(不包含文件名)".$className.".php"; }
변수 $className이 자동으로 호출됩니다. 이 함수는 전달된 클래스 이름입니다.
2. spl_autoload_register() 함수를 사용합니다:
여러 __autoload() 함수를 선언하는 데 사용합니다.
spl_autoload_register("function name 1") spl_autoload_register("function name 2" );..... .이 함수는 실제로 __autoload()와 동일합니다.
//此处声明三个自动加载函数名, spl_autoload_register('auto1'); spl_autoload_register('auto2'); spl_autoload_register('auto2'); //接下来需要定义所声明的函数。 function auto1($className){ $file="文件路径".$className.".php"; if(file_exists($file)){ require $file; } } function auto2($className){ $file="文件路径".$className.".php"; if(file_exists($file)){ require $file; } } function auto2($className){ $file="文件路径".$className.".php"; if(file_exists($file)){ require $file; } }
在使用该方法时,需要类时,会按照声明的顺序先从auto1()调用,如果有的话就引入,如果不存在,就到下一个函数调用......
spl_autoload_register()와 __autoload()의 차이점은 spl_autoload_register()가 파일 경로에 다른 파일을 도입할 수 있다는 것입니다. 그리고 spl_autoload_register()가 파일에 등록되면 __autoload() 메서드는 자동으로 유효하지 않습니다.
PHP는 자동 로딩 기능을 구현합니다
위 내용은 PHP의 클래스 자동 로딩 인스턴스 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!