很多开发者会在写面向对象的程序时require或者要include一大堆有用没用的类文件,很多人写着会很烦,当然看的人也烦,后来来二次开发的人更烦,是呀,有谁知道那个包含进来的文件有用,那个没用。
呵呵,不过在php5以后这个问题得到了很好的解决。他引入了自动加载对象 __autoload 函数,有了这个函数,开发者就再也不用加载很多
类文件了。
呵呵,可能一开始看的时候不大好理解,我来举个例子吧。
首先,我们有一个A.class
然后我们在test.php引用这个A中的hello
输出会是:
hello,I am A
看到了吧,我并没有include或者require class A,但是我们还是调用了A 类里的方法。
好了,但是如果我说我就是个有点拧巴的人,呵呵,我就不想调用__autoload 函数,那么php还给你提供了另一个函数,那就是spl_autoload_register ,你可以用它来注册我们自己的autoload函数,怎么用呢,我来举个例子吧。
首先 A.class 不变,我就不写了
变化的是调用的文件。test.php,内容如下
看见我改了什么,呵呵,其实也没改啥,及时用sql_autoload_register定义了自己的__autoload 函数:myauto.当然输出仍然是:
hello,I am A
或者你还可以这么调用(仍然用test.php)举例:
备注:别忘了声明myauto方法的时候加上 static ,为啥偶一时也没弄明白,呵呵,那位高人帮偶看看吧。好了就说这么多。
欢迎高人指点之