第6章动态加载类与文件(Zend_Loader)动态加载是把一个PHP文件或者类通过特殊的语句加载到其他文件中的过程。通过动态加载可以实现PHP语句的一处定义多处使用。ZF中包含大量的文件与类。在使用这些文件与类时,可以通过Zend_Loader组件对其他文件与类实现动态加载。本章将向读者介绍如何使用Zend_Loader组件对文件与类进行动态加载。6.1加载文件Zend_Loader组件,可以实现对文件的加载,而且还可以判断文件是否可读。这两个功能分别由Zend_loader::loadFile()方法与Zend_loader::isReadable()方法来实现。本节就来介绍如何通过Zend_Loader来实现此种功能。6.1.1动态加载文件加载文件是指把一个PHP文件加载到另一个PHP文件中,这样就可以使用被加载对象中的内容。在PHP中,使用include()函数与require()函数都可以实现加载文件。这两个函数的使用形式如下所示。include'str';require(str);其中,参数str是指代确定文件名的字符串。6.1.2判断文件属性在对文件进行操作之前,判断文件是否可读是很有必要的。只有可读的文件才能对其进行读出内容操作。Zend_Loader组件除了能对文件进行动态加载外,还可以通过其isReadable()方法判断文件的读写属性。其语法格式如以下代码所示。Zend_Loader::isReadable($filename)6.2动态加载类Zend_Loader不但可以动态加载文件,通过其loadClass()方法还可以实现对类的动态加载。这对于ZF各组件的使用很有帮助。Zend_Loader::loadClass()方法的语法格式如下所示。Zend_Loader::loadClass($class,$dirs)6.3小结在使用ZendFramework进行编程时,使用Zend_Loader组件可以动态加载各种文件及类。这样可以避免多次对其他文件的require,一方面使代码更加简化,另外也会减少错误的发生。需要注意的是不管是加载文件还是加载类,都要保证文件或类是存在的(或者存在于include_path所指定的目录中),因为如果文件不存在,则相应的方法就会抛出一条Zend_Exception异常,这一点在使用中需要特别注意。