《PHP编程:Zend Framework使用Zend_Loader组件动态加载文件和类用法详解》要点:
本文介绍了PHP编程:Zend Framework使用Zend_Loader组件动态加载文件和类用法详解,希望对您有用。如果有疑问,可以联系我们。
本文实例讲述了Zend Framework使用Zend_Loader组件动态加载文件和类的方法.分享给大家供大家参考,具体如下:PHP教程
加载文件PHP教程
Zend_Loader组件可以实现对文件的加载功能,还可以判断文件是否可读.PHP教程
这两个功能分别由Zend_loader::loadFile()方法与Zend_loader::isReadable()方法来实现.PHP教程
动态加载是可以将变量所指代的文件进行加载的过程.当需要加载的文件为用户输入或是某个方法的参数时,通过传统的加载方法会很难对文件进行加载.PHP教程
通过动态加载则可以实现这一过程.PHP教程
示例:PHP教程
首先建立被加载的文档temp.php,该文档只实现一个简单的输出功能,代码如下.PHP教程
<?php echo "Hello World!"; ?>
主程序:PHP教程
<?php require_once("Zend/Loader.php"); $filename = 'temp.php'; Zend_Loader::loadFile($filename);
执行结果:PHP教程
Hello World!
说明文件已经被成功的加载进来了.PHP教程
判断文件属性PHP教程
语法格式:PHP教程
Zend_Loader::isReadable($filename)PHP教程
如果文件可读,程序将返回TruePHP教程
该方法是由PHP函数is_readable()封装而成的,但二者还是存在不同之处.is_readable()方法PHP教程
不会自动查找include_path目录下的文件,而Zend::isReadable()方法则可以.PHP教程
示例:PHP教程
<?php require_once("Zend/Loader.php"); $filename = 'temp.php'; if(Zend_Loader::isReadable($filename)){ echo "文件".$filename."是可读的!"; }else{ echo "文件".$filename."不可读!"; } echo "<p/>"; if(is_readable('Zend/Date.php')){ echo "include_path下文件可读"; }else{ echo "include_path下文件不可读"; } echo "<p/>"; if(Zend_Loader::isReadable('Zend/Date.php')){ echo "include_path下文件可读"; }else{ echo "include_path下文件不可读"; }
结果:PHP教程
文件temp.php是可读的! include_path下文件不可读 include_path下文件可读
这个例子说明,is_readable()方法不可以判断include_path文件是否可读,而Zend_Loader::isReadable()方法可以判断.include_path文件,指的是php.ini中配置引入的文件.PHP教程
不仅如此,Zend_Loader还可以进行类的加载.这将在下面进行讲解.PHP教程
动态加载类PHP教程
Zend_Loader不仅可以动态加载文件,通过其loadClass()方法还可以实现.PHP教程
语法:PHP教程
Zend_Loader::loadClass($class,$dirs)PHP教程
其中,class为指定的类名,class为指定的类名,dirs为包含类的文件所在的路径及文件名.类名将会根据下划线对应到相应目录下的PHP教程
PHP文件,如Zend_Controller_Action会指向Zend/Controller/Action.php.PHP教程
如果参数$dirs是一个字符串或数组,则该方法会根据顺序查找相应目录,并加装第一个匹配的文件.如果文件不存在,该方法还会到include_path指定的目录下进行查找.PHP教程
示例:PHP教程
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Date'); $date = new Zend_Date(); echo $date;
结果:PHP教程
2013-3-18 下午05:30:16
说明,这段代码直接到include_path中加载需要的类.然后实例化,输出即可.PHP教程
更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》PHP教程
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助.PHP教程
转载请注明本页网址:
http://www.vephp.com/jiaocheng/2448.html