php 魔术方法 __autoload()

PHP在魔术函数__autoload()方法出现以前,如果你要在一个程序文件中实例化100个对象,那么你必须用include或者require包含进来100个类文件,或者你把这100个类定义在同一个类文件中——相信这个文件一定会非常大。

但是__autoload()方法出来了,以后就不必为此大伤脑筋了,这个类会在你实例化对象之前自动加载制定的文件。

下边我们通过一个例子来看一下,具体的使用方法,并在稍后说明使

ClassA.php 文件
<?php /** * Description of ClassA * * @author timeless */ class ClassA { //put your code here public function __construct() { echo ClassA load success<br/>; } }
ClassB.php 文件
<?php /** * Description of ClassB * * @author timeless */ class ClassB { //put your code here public function __construct() { echo ClassB load success<br/>; } }
index.php

<?php /** * @author 赵兴壮<[email protected]> * @package phpClass * @param string $classname 类名 * php 魔术方法 __autoload(); */ function __autoload($classname) { $classpath = .. DIRECTORY_SEPARATOR . $classname . .php; if (file_exists($classpath)) { require_once $classpath; } else { echo class file.$classpath.not found; } } $newClassA=new ClassA(); $newClassB=new ClassB();
结果:
ClassA load success ClassB load success

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。