php自动加载类__autoload()的方法
本文章来给大家简单的介绍一下关于php自动加载类__autoload()的方法,希望此方法对各位同学会有所帮助哦。
作用:当在程序中需要实例化一个类,刚好这这类又不是在本文件中,则需要用包含函数将外部文件包含进来。但是,当要用的外部类很多后,就会发现用包含函数会显得十分的繁琐,这是就可以用__autoload()全局函数自动加载类。
当在index.php中要使用前面三个类时,就需要写三个例如include("name.class.php") 这样的方法,效率会十分低,但如果使用了__autoload()函数就不用这样麻烦了,只需要写这样一个函数方法就可以了:
在 PHP 5 中,不再需要这样了。可以定义一个 __autoload() 函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。
在下例中将通过实例来说明 __autoload() 是如何使用的。
首先定义一个类ClassA,文件名为ClassA.class.php
代码如下 | 复制代码 |
class ClassA{ public function funa(){ echo "classA loaded successfully! } } |
然后在相同目录下再定义另一个类ClassB,文件名为ClassB.class.php,ClassB继承ClassA
代码如下 | 复制代码 |
class ClassB extends ClassA { public function funb(){
echo "classB also loaded successfully! } } |
最后在与上面两个文件相同目录下再定义一个autoload.php(这个文件名随便取)
代码如下 | 复制代码 |
function __autoload($class_name) { require_once ("./".ucfirst($class_name).'.class.php');//ucfirst使类名首字母转换为大写 } $obj = new ClassB(); $obj->funa(); $obj->funb(); ?> |
运行autoload.php的程序,看结果:
classA loaded successfully!
classB also loaded successfully!
例子: 文件夹下有这样几个文件:
User.class.php;
Person.class.php;
Message.class.php;
index.php;
我们就可以这样操作
代码如下 | 复制代码 |
index.php function __autoload($className){ //ucfirst() 将字符串首字母变为大写 include("ucfirst($className)".class.".php"); } /************** |
*例如:在index.php文件中实例化User.class.php中的User类,如果不存在则自动调用__autoload()函数
代码如下 | 复制代码 |
*,将类名User作为参数传入 *************/ $user=new User(); //通过自动加载类调用User.class.php文件 $person=new Person(); //通过自动加载类调用Person.class.php文件 $Message=new Message(); //通过自动加载类调用Message.classphp文件 function="" message="new" person="new" user="new"> |

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
