Home > Java > JavaBase > body text

Principle of automatic loading in PHP and tutorial on using __autoload

王林
Release: 2019-11-13 17:39:48
Original
2466 people have browsed it

Principle of automatic loading in PHP and tutorial on using __autoload

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

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();
}
Copy after login

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

DB.php

class DB
{
  publicfunction __construct()
  {
      echo 'Hello DB';
  }
}
Copy after login

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 .&#39;.php&#39;;
}
$db =new DB();
$info =newInfo();
$gender =newGender();
$name =newName();
//也是支持静态方法直接调用的
Height::test();
Copy after login

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!

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