将一个独立的、完整的类保存到一个PHP页中,并且文件名和类名保持一致,这时每一个开发人员都需要养成的良好习惯。当引用多个类时使用include_once()和require_once()函数将类一个个的引入很不方便。
如果在index.php中调用类Mrsoft,index.php代码如下:
在PHP5中应用__autoload()方法解决了这个问题。__autoload()方法可以自动实例化需要使用的类。当程序要用一个类,但该类还没有被实例化时,PHP5将使用__autoload()方法在指定路径下自动查找和该类名称相同的文件。如果找到则继续执行,否则报错。
例:
类文件为Mrsoft.class.php,代码如下:
<?php
class MrSoft{ //创建类
private $cont; //声明变量
public function __construct($cont){ //构造方法
$this -> cont = $cont; //为成员变量赋值
}
public function __toString(){ //输出字符串
return $this -> cont;
}
}
?>
如果在index.php中调用类Mrsoft,index.php代码如下:
<?php
function __autoload($class_name){ //创建__autoload()方法
$class_path = $class_name.'.class.php';//类文件路径
if(file_exists($class_path)){ //判断类文件是否存在
include_once($class_path);//动态包含类文件
}else
echo '类路径错误。';
}
$mrsoft = new MrSoft("执子之手,与子偕老");//实例化对象
echo $mrsoft;//输出类内容
?>