Zend Framework使用Zend_Loader组件动态加载文件和类用法详解

2025-05-29 0 44

本文实例讲述了Zend Framework使用Zend_Loader组件动态加载文件和类的方法。分享给大家供大家参考,具体如下:

加载文件

Zend_Loader组件可以实现对文件的加载功能,还可以判断文件是否可读。

这两个功能分别由Zend_loader::loadFile()方法与Zend_loader::isReadable()方法来实现。

动态加载是可以将变量所指代的文件进行加载的过程。当需要加载的文件为用户输入或是某个方法的参数时,通过传统的加载方法会很难对文件进行加载。

通过动态加载则可以实现这一过程。

示例:

首先建立被加载的文档temp.php,该文档只实现一个简单的输出功能,代码如下。

?

1

2

3
<?php

echo "Hello World!";

?>

主程序:

?

1

2

3

4
<?php

require_once("Zend/Loader.php");

$filename = 'temp.php';

Zend_Loader::loadFile($filename);

执行结果:

?

1
Hello World!

说明文件已经被成功的加载进来了。

判断文件属性

语法格式:

Zend_Loader::isReadable($filename)

如果文件可读,程序将返回True

该方法是由PHP函数is_readable()封装而成的,但二者还是存在不同之处。is_readable()方法

不会自动查找include_path目录下的文件,而Zend::isReadable()方法则可以。

示例:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20
<?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下文件不可读";

}

结果:

?

1

2

3
文件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指定的目录下进行查找。

示例:

?

1

2

3

4

5
<?php

require_once("Zend/Loader.php");

Zend_Loader::loadClass('Zend_Date');

$date = new Zend_Date();

echo $date;

结果:

?

1
2013-3-18 下午05:30:16

说明,这段代码直接到include_path中加载需要的类。然后实例化,输出即可。

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Zend Framework使用Zend_Loader组件动态加载文件和类用法详解 https://www.kuaiidc.com/95900.html

相关文章

发表评论
暂无评论