在业务越来越复杂的情况下一个脚本需要include或require的类文件也会越来越多,
这时需要用到__autoload()方法在实例化对象的时候自动进行加载类文件
1,__antoload()的使用
新建init.php文件,代码如下:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/3 0003 * Time: 下午 3:39 */ header('content-type:text/html;charset=utf8'); function __autoload($className){ //自动加载类名为className,文件名为./$className.class.php的文件 require "./$className.class.php"; }
2,测试
新建student类和teacher类
Student.class.php代码如下:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/3 0003 * Time: 下午 3:41 */ class Student{ public function __construct() { echo "学生类已加载"; } }
Teacher.class.php代码如下:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/3 0003 * Time: 下午 3:41 */ class Teacher{ public function __construct() { echo "老师类已加载"; } }
创建index.php文件测试是否需要同时引进对应的类文件才可以加载对应的构造函数
代码如下:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/3 0003 * Time: 下午 3:43 */ require './init.php'; $student=new Student(); echo "<br>"; $teacher=new Teacher();
在浏览器运行index.php文件效果展示如下: