PHP的自动加载器
在做开发的时候,通常我们都会把每个功能都定义成为一个独立的类文件,就是以.class.php结尾的文件,然后我们每次需要调用的时候都会写一个头文件,类似于于java里面的import。在页面的开头你可能图方便的全部引用进来,这样就会很浪费内存空间。php的自动加载函数就很好的解决了这个问题。
常规的自动加载类函数(__autload)
__autoload()包含构建类文件的真实路径和判断并包含类文件代码;
这是同一个文件夹下的.class.php文件,只需重写__autoload()函数就行,方法体也比较简单,就是一个if语句,判断需不需要引用,然后去文件夹里面找,找到了就引用。
2.自定义类文件加载函数(spl_autoload_register)(不同文件夹下,注册多个类加载函数,形成一个类文件的队列,按注册顺序依次执行)
不同文件夹下就自定义类文件加载函数,原理是一样的。
匿名类的自动加载,
这种情况比较少吧,和上面写法有一点不一样。
这样自动加载就不会一次性加载所有的类,节省了很多内存空间,不需要的类就不用加载进来。