本文实例讲述了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
|
相关文章
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-06-05 79
-
2025-05-29 72
-
2025-05-25 67
-
2025-05-27 50
-
2025-05-29 113

