Home >Backend Development >PHP Problem >How to implement automatic loading of classes in php
How to implement automatic class loading in php: 1. Use the "__autoload" magic function to load classes; 2. Use the "spl_autoload_register" function to replace the autoload function.
Recommendation: "PHP Video Tutorial" The automatic loading of the
class means that in the outside page, There is no need to "import" class files, but the program will dynamically load the required class files when needed.
Method 1: Use the __autoload magic function
When the program needs a certain class, it will call this function. This function we You need to define and write the general statements for loading class files yourself.
<?php //需要类是自动调用,而且会传进来一个类名,这个案例的文件名为21A.class.php,类名为A function __autoload($className){ require "./21".$className.".class.php"; } $o1 = new A(); $o1->v1 = 10; echo "<br/>v1:".$o1->v1; ?>
Method 2: Use the spl_autoload_register function
The function of this function is to have more lives A function that can be used to replace the autoload function. The syntax is as follows: spl_autoload_regist("function name 1"); if spl_autoload_register is used, autoload will be invalid.
<?php //注册两个用于自动加载的函数名 spl_autoload_register('auto1'); spl_autoload_register('auto2'); function auto1($className){ $file = "./21".$className.".class.php"; if(file_exists($file)){ require "./21".$className.".class.php"; } } function auto1($className){ $file = "./22".$className.".class.php"; if(file_exists($file)){ require "./22".$className.".class.php"; } } //如果需要一个类,但这个页面还没有记载,就会依次调用auto1和auto2,知道找到该类文件并加载 ?>
The above is the detailed content of How to implement automatic loading of classes in php. For more information, please follow other related articles on the PHP Chinese website!