나는 더 이상 __autoload()의 사용법에 대해 이야기하지 않을 것입니다. 이전에 웹 개발 노트에서 언급한 적이 있습니다. PHP __autoload 기능(클래스 파일 자동 로드) 사용 방법, 원본 주소: http://www.jb51.net/article/29625.htm.
spl_autoload_register()의 사용법에 대해 이야기해 보겠습니다. 이는 사용자 정의 __autoload()를 선언하는 것으로 이해될 수 있습니다. 함수 A 또는 함수 B일 수 있습니다. 물론 함수 본문은 __autoload()와 같은 방식으로 작성해야 합니다.
이 메소드는 PHP가 클래스 파일을 찾을 수 없을 때 호출됩니다. 자체 함수나 메소드를 등록할 때 PHP는 __autoload() 함수를 호출하지 않고 사용자 정의 함수
spl_autoload_register('func_name' ;)를 호출합니다. ) 함수
설명
bool spl_autoload_register ([ callback $autoload_function ] )
SPL __autoload 함수 스택에 함수를 등록합니다. 아직 활성화되지 않은 경우 이 스택의 기능을 활성화합니다.
프로그램에 __autoload 함수가 구현된 경우 __autoload 스택에 명시적으로 등록되어야 합니다.
spl_autoload_register() 함수는 Zend 엔진의 __autoload 함수를 spl_autoload() 또는
spl_autoload_call()로 대체하기 때문입니다.
매개변수
autoload_function
등록할 자동 로드 기능입니다. 매개변수가 제공되지 않으면 자동 로드의 기본 구현 함수
spl_autoload()가 자동으로 등록됩니다.
반환 값
성공하면 TRUE를, 실패하면 FALSE를 반환합니다.
참고: SPL은 Standard PHP Library의 약어입니다. 이는 PHP5에 도입된 확장 라이브러리입니다. 주요 기능에는 자동 로드 메커니즘과 다양한 Iterator 인터페이스 또는 클래스의 구현이 포함됩니다. SPL 자동 로드 메커니즘은 자동 로드 기능이 있는 자체 구현 함수에 함수 포인터 autoload_func를 지정하여 구현됩니다. SPL에는 spl_autoload와 spl_autoload_call이라는 두 가지 다른 함수가 있습니다. autoload_func를 두 가지 다른 함수 주소로 지정하여 다른 자동 로딩 메커니즘을 구현합니다.
코드는
test.class.php
코드 복사
코드는
class abc{ function __construct()
{echo 'www.chhua.com
}
}
?> >
load.php
코드 복사
class LOAD { 정적 함수 loadClass($class_name)
{$filename = $class_name.".class.php"
if (is_file($filename)) return include_once $filename;
}
}
/**
* 객체 자동 로드 설정
* spl_autoload_register — 주어진 함수를 __autoload() 구현으로 등록
*/
spl_autoload_register(array('LOAD', 'loadClass'))
$a = new Test() ;//자동 로딩 달성, 많은 프레임워크 클래스를 자동으로 로드하려면 이 방법을 사용하세요
?>
위 내용은 dllregisterserver PHP 함수 spl_autoload_register의 사용법과 dllregisterserver의 내용을 포함하여 __autoload의 소개를 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.