자동 로딩의 원리
자동 로딩의 원리는 새 클래스를 생성할 때 PHP 시스템이 해당 클래스를 찾을 수 없으면 자동으로 이 파일 메서드에서 __autoload($class_name)를 호출한다는 것입니다. 새로운 class_name이 이 메소드의 매개변수가 됩니다.
따라서 이 방법에서는 자동 로딩을 달성하기 위해 새로운 class_name이 필요한 다양한 판단과 구분을 기반으로 해당 경로 클래스 파일을 요구할 수 있습니다.
__autoload 사용법 튜토리얼:
__autoload()의 자동 호출을 단계별로 살펴보겠습니다. 예를 살펴보겠습니다.
index.php
$db =new DB();
가져오지 않는 경우 DB 클래스를 수동으로 생성하면 프로그램이 이 클래스를 찾을 수 없다는 오류가 보고됩니다:
Fatal error: Class 'DB' not found in D:wampwwwtestphpautoloadindex.php on line 3
이제 __autoload() 메소드를 추가하고 살펴보겠습니다:
$db =new DB(); function __autoload($className) { echo $className; exit(); }
설명에 따르면 위의 자동 로딩 메커니즘을 분석한 후에는 무엇이 출력되나요? 맞습니다. 출력은 DB여야 합니다. 이는 새로 필요한 클래스의 클래스 이름입니다. 따라서 이때 __autoload() 메서드에서 필요에 따라 클래스 라이브러리 파일을 로드할 수 있습니다.
index.php
$db =new DB(); function __autoload($className) { require $className .'.php'; }
DB.php
class DB { publicfunction __construct() { echo 'Hello DB'; } }
이러한 방식으로 필요한 모든 클래스를 쉽게 가져올 수 있습니다. 예를 들어 다음과 같습니다.
<?php function __autoload($className) { require $className .'.php'; } $db =new DB(); $info =newInfo(); $gender =newGender(); $name =newName(); //也是支持静态方法直接调用的 Height::test();
위 내용은 PHP의 자동 로딩 원리 및 __autoload 사용에 대한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!