search
HomeJavaJavaBasePrinciple of automatic loading in PHP and tutorial on using __autoload

Principle of automatic loading in PHP and tutorial on using __autoload

Nov 13, 2019 pm 05:32 PM
phpprincipleTutorialautoload

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();

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 .&#39;.php&#39;;
}
$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!

Statement
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
What are different garbage collection algorithms in Java (Serial, Parallel, CMS, G1, ZGC)?What are different garbage collection algorithms in Java (Serial, Parallel, CMS, G1, ZGC)?Mar 14, 2025 pm 05:06 PM

The article discusses various Java garbage collection algorithms (Serial, Parallel, CMS, G1, ZGC), their performance impacts, and suitability for applications with large heaps.

What is the Java Virtual Machine (JVM) and how does it work internally?What is the Java Virtual Machine (JVM) and how does it work internally?Mar 14, 2025 pm 05:05 PM

The article discusses the Java Virtual Machine (JVM), detailing its role in running Java programs across different platforms. It explains the JVM's internal processes, key components, memory management, garbage collection, and performance optimizatio

How do I use Java's Nashorn engine for scripting with JavaScript?How do I use Java's Nashorn engine for scripting with JavaScript?Mar 14, 2025 pm 05:00 PM

Java's Nashorn engine enables JavaScript scripting within Java apps. Key steps include setting up Nashorn, managing scripts, and optimizing performance. Main issues involve security, memory management, and future compatibility due to Nashorn's deprec

How do I use Java's try-with-resources statement for automatic resource management?How do I use Java's try-with-resources statement for automatic resource management?Mar 14, 2025 pm 04:59 PM

Java's try-with-resources simplifies resource management by automatically closing resources like file streams or database connections, improving code readability and maintainability.

How do I use Java's enums to represent fixed sets of values?How do I use Java's enums to represent fixed sets of values?Mar 14, 2025 pm 04:57 PM

Java enums represent fixed sets of values, offering type safety, readability, and additional functionality through custom methods and constructors. They enhance code organization and can be used in switch statements for efficient value handling.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use