PHP类的自动加载函数如何使用?php类的自动加载使用实例!之前学习了很多有关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面向对象的学习笔记。