How to implement automatic loading of classes in php

藏色散人
Release: 2023-03-06 18:06:01
Original
5378 people have browsed it

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.

How to implement automatic loading of classes in php

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;
  ?>
Copy after login

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(&#39;auto1&#39;);
    spl_autoload_register(&#39;auto2&#39;);
    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,知道找到该类文件并加载
  ?>
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template