Auto-loading principle
The principle of automatic loading is that when we create a new class, if the PHP system cannot find your class , the __autoload($class_name) method in this file will be automatically called, and our new class_name will become the parameter of this method.
So in this method we can require the corresponding path class file based on the various judgments and divisions we need new class_name to achieve automatic loading.
__autoload usage tutorial:
Let’s go step by step and look at the automatic call of __autoload(). Let’s look at an example:
index.php
$db =new DB();
If we do not manually import the DB class, the program may report an error saying that this class cannot be found:
Fatal error: Class 'DB' not found in D:\wamp\www\testphp\autoload\index.php on line 3
So, let’s add the __autoload() method now and take a look:
$db =new DB(); function __autoload($className) { echo $className; exit(); }
According to the description of the automatic loading mechanism above, what will be output after your analysis? That's right: it must be the output: DB, which is the class name of the class we need new. Therefore, at this time we can load the class library file as needed in the __autoload() method.
index.php
$db =new DB(); function __autoload($className) { require $className .'.php'; }
DB.php
class DB { publicfunction __construct() { echo 'Hello DB'; } }
In this way we can easily add our All classes that need to be new are imported. In this way, we can easily new N classes, such as:
<?php function __autoload($className) { require $className .'.php'; } $db =new DB(); $info =newInfo(); $gender =newGender(); $name =newName(); //也是支持静态方法直接调用的 Height::test();
Recommended tutorial: PHP tutorial
The above is the detailed content of Principle of automatic loading in PHP and tutorial on using __autoload. For more information, please follow other related articles on the PHP Chinese website!