本文实例讲述了Zend Framework使用Zend_Loader组件动态加载文件和类的方法。分享给大家供大家参考,具体如下:
加载文件
Zend_Loader组件可以实现对文件的加载功能,还可以判断文件是否可读。
这两个功能分别由Zend_loader::loadFile()方法与Zend_loader::isReadable()方法来实现。
动态加载是可以将变量所指代的文件进行加载的过程。当需要加载的文件为用户输入或是某个方法的参数时,通过传统的加载方法会很难对文件进行加载。
通过动态加载则可以实现这一过程。
示例:
首先建立被加载的文档temp.php,该文档只实现一个简单的输出功能,代码如下。
<"Hello World!"; "htmlcode"><"Zend/Loader.php"); $filename = 'temp.php'; Zend_Loader::loadFile($filename);执行结果:
Hello World!说明文件已经被成功的加载进来了。
判断文件属性
语法格式:
Zend_Loader::isReadable($filename)
如果文件可读,程序将返回True
该方法是由PHP函数is_readable()封装而成的,但二者还是存在不同之处。is_readable()方法
不会自动查找include_path目录下的文件,而Zend::isReadable()方法则可以。
示例:
<"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下文件不可读"; }结果:
文件temp.php是可读的! include_path下文件不可读 include_path下文件可读这个例子说明,is_readable()方法不可以判断include_path文件是否可读,而Zend_Loader::isReadable()方法可以判断。include_path文件,指的是php.ini中配置引入的文件。
不仅如此,Zend_Loader还可以进行类的加载。这将在下面进行讲解。
动态加载类
Zend_Loader不仅可以动态加载文件,通过其loadClass()方法还可以实现。
语法:
Zend_Loader::loadClass($class,$dirs)
其中,class为指定的类名,class为指定的类名,dirs为包含类的文件所在的路径及文件名。类名将会根据下划线对应到相应目录下的
PHP文件,如Zend_Controller_Action会指向Zend/Controller/Action.php。
如果参数$dirs是一个字符串或数组,则该方法会根据顺序查找相应目录,并加装第一个匹配的文件。如果文件不存在,该方法还会到include_path指定的目录下进行查找。
示例:
<"Zend/Loader.php"); Zend_Loader::loadClass('Zend_Date'); $date = new Zend_Date(); echo $date;结果:
2013-3-18 下午05:30:16说明,这段代码直接到include_path中加载需要的类。然后实例化,输出即可。
更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 小骆驼《草原狼》[正版CD抓轨WAV+CUE]
- 群星.2011-剧集金曲精选2CD【永恒】【WAV+CUE】
- 林忆莲.1996-夜太黑【滚石】【WAV+CUE】
- 方皓玟.2009-UNLOCKME【东亚】【WAV+CUE】
- 群星《2024好听新歌22》十倍音质 U盘音乐[WAV分轨]
- 林宥嘉《神秘嘉宾》引进版[WAV分轨][1G]
- 2024罗志祥《舞狀元》[FLAC/MP3][1G]
- 张美玲侯俊辉1999-福建情歌对唱[南方][WAV+CUE]
- 江希文.1994-伝说少女(饿狼伝说动画原声大碟)【嘉音】【WAV+CUE】
- 黄思婷2020-风中泪[豪记][WAV+CUE]
- 刘韵.1998-DENON.MASTERSONIC系列【EMI百代】【WAV+CUE】
- 群星.2024-你的谎言也动听影视原声带【韶愔音乐】【FLAC分轨】
- 群星.2003-难忘的影视金曲·港台篇【正大国际】【WAV+CUE】
- 试音天碟《原音HQCD》风林 [WAV+CUE][1.1G]
- 李思思《喜欢你》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]