第七章:第14节 PHP面向对象——类的自动加载

更新于:2017-06-08 19:15:32

类的自动加载是指,在外面的页面中,并不需要去“引入”(包含)类文件,但是程序会在需要一个类的时候就自动去“动态加载”该类。


什么叫做“需要一个类”?通常是这样的情况:

1,创建一个对象的时候(new)

2,直接使用一个类名(操作静态或静态方法)


做法非常简单:


做法1:使用__autoload魔术函数。

即,“当程序需要一个类”的时候,就会去调用该函数:该函数我们需要自己去定义并在其中写好加载类文件的通用语句:


1.png

1.png

第4行代码注释掉了,依然能找到Person类,__autoload函数起作用了。


这也是我们第一次写这样一个函数,自己不去调用,完全有PHP脚本程序自动去调用。


做法2:使用spl_autoload_register函数

该函数的作用是:用它“注册”(声明)多个可以用来代替__autoload函数作用的函数,语法如下:

spl_autoload_regist(“函数名1”);

spl_autoload_regist(“函数名2”);

.........

自然,其后也得去定义这些函数,并且这些函数的作用跟__autoload一样,不过此时就可以应对“更多的情形”——比如类文件分布在不同的目录中。


1.png

看上面的代码理解下就可以了。


我们以后做开发大多都是使用框架开发,就是别人已经把基础的代码都写好了,我们用框架只专注于做业务逻辑的开发就好。像类的自动加载这都属于基础代码,只要使用框架基本上用不到写这样的代码,大家只要知道了PHP可以实现类文件的自动加载就可以了。


本节学习代码》》》