PHP类的自动加载函数如何使用?PHP类的自动加载使用实例
- 2022年12月22日
- 753 次
之前学习了很多有关PHP面向对象中的魔术方法,但是今天在学习__autoload()自动加载魔术方法的时候,在实例中使用__autoload()时,报错提示已经被PHP废弃,查看了一下PHP手册才明白7.2以上版本中已经将__autoload()废弃掉,而被新的函数spl_autoload_register()所替代。
为什么要在使用类的自动加载?
当我们在PHP的项目当中有时候会为每一个类写一个文件,如果我们写了多个类,就有很多个类文件,如果我们要引用这些类文件的时候,我们需要一个一个的使用include_once引入,这样十分的浪费时间和麻烦,所以智能的PHP就专门为我们内置自动加载类的函数spl_autoload_register()。
spl_autoload_register函数如何使用?
spl_autoload_register()函数可以注册任意数量的自动加载器,当使用尚未被定义的类(class)和接口(interface)时自动去加载。通过注册自动加载器,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。像class一样的结构都可以以相同方式自动加载。包括类、接口等。
PHP类的自动加载函数使用实例代码:
以下是新建的两个类文件:
playobject.php代码:
<?php
class playobject{
private $cont;
function __get($test){
return '足球是世界第一运动!';
}
}
studyobject.php代码:
<?php
class studyobject{
public $studentName;
public $studentAge;
function __construct($studentName,$studentAge)
{
$this->studentName = $studentName;
$this->studentAge =$studentAge;
}
function __toString()
{
return $this->studentName.'你的年龄是:'.$this->studentAge;
}
}
?>
然后下面是使用spl_autoload_register函数对类文件进行自动加载的代码:
<?php
//自动加载类文件的方法
spl_autoload_register(function ($class_name) {
require_once $class_name.'.php';
});
$playobject = new playobject();
echo $playobject->cont;
echo '<hr>';
$studyobject = new studyobject('小余',12);
echo $studyobject->__toString();
?>
在我们使用了spl_autoload_register()函数后,就成功的将类文件加载到了以上的代码块中,并成功的实例化并调用了相关的成员方法。
spl_autoload_register函数在PHP面向对象当中还是比较重要的,学会了使用类文件的自动加载,能为我们在类使用时节约更多的时间和精力。后续李涛自留地将记载更多关于PHP面向对象的学习笔记。
若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。
- PHP in_array()、array_search()、array_key_exists() 查找函数对比 2026-07-02
- Nginx 504 Gateway Timeout超时详解:原因与优化方案 2026-07-02
- PHP array_slice() 和 array_splice() 详解:数组切片与截取 2026-07-02
- PHP抽象类使用方法 PHP抽象类作用及实例代码 2022-12-10
- PHP中$this和::的如何使用?PHP中$this和::使用实例代码 2022-12-06
- PHP文件包含函数有哪些?include与require文件包含函数有什么区别? 2022-10-09
