php魔法函数__autoload用法

本文介绍如何使用PHP的__autoload函数自动加载类文件,无需显式包含每个类文件。通过一个示例展示了如何定义__autoload函数并使其在实例化类时自动调用相应的类文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候需要在一个php脚本中实例化多个类,无需手动包含多个类文件,php魔法函数__autoload会自动帮你加载各个类文件

有一个test.php文件,代码为:

class test{
public function __construct(){
echo "class test load success";


}

在同级文件目录下,新建test1.php,代码为:

function __autoload($name){
$classpath = "./".$name.".php";
if(file_exists($classpath)){
require_once($classpath);
}else{
echo "class file ".$classpath." is not found";
}

}
$test =new test();

浏览器运行test1.php,例如http://localhost/test1.php,程序即可正常工作。

注意点:

1、命令模式下运行php脚本,此函数不会生效;

2、类名和类的文件名最好一致;

3、如果类存在继承关系(例如:ClassB extends ClassA),则文件ClassA.php和ClassB.php必须处在同一目录下,不然会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值