随笔 - 47, 文章 - 10, 评论 - 8, 引用 - 0
数据加载中……

Zend Framework 手册中文版[连载]

相信Zend Framework对于很多人都有借鉴意义(即使你不支持MVC),我打算花点业余时间把Zend Framework的手册翻译过来。应该对新手,老手都有点用 smile.gif

翻译的路线是按我自己的的兴趣来安排的呵呵,ZF提供的那些类库,不一定会全部一一说明,因为我觉得大家可能都有自己的类库,不一定要用ZF的。主要还是看看它的框架。

目前打算在这个版块和我的Blog上同步更新,等全部完成后,打包成chm文档提供下载。

如果谁有兴趣参与,非常欢迎,请与我联系
msn & email:haohappy at msn.com (at->@)
第一章. Zend

目录

1.1. 简介
1.2. Zend::loadFile()
1.3. Zend::loadClass()
1.4. Zend::loadInterface()
1.5. Zend::isReadable()
1.6. Zend::dump()
1.7. Zend::register()
1.8. Zend::registry()

1.1.简介

Zend类是Zend Framework的基类,之所以有这个类是为了使Zend Framework遵循DRY原则(Don't Repeat Yourself)。这个类只包含静态方法,这些类方法具有Zend Framework中的很多组件都需要的功能。
1.2. Zend::loadFile()

Zend::loadFile()用来包含PHP文件。它其实是将PHP的include()函数封装而成的一个静态方法。当包含文件失败时,会抛出异常(Zend_Exception,见后面--Haohappy注)。
1loadFile($filename, $dirs=null, $once=false
2    
3参数: 文件,目录(路径),是否只包含一次 
$filename参数指定需要加载的文件,注意$filename不需要指定任何路径,只需要文件名即可。ZF会对文件作安全性检查。$filename只能由字母,数字,连接符-,下划线_及英文句号.组成(半角)。$dir则不限,可以使用中文等。

$dirs参数用来指定文件所在目录,如果为空,则程序将会到系统的include_path下寻找文件是否存在(include_path可在php.ini中设置--Haohappy注)

$once参数为布尔类型,只能是true或false,两者区别就和include()和include_once()的区别一样。
1.3. Zend::loadClass()

Zend::loadClass()用来加载一个PHP类文件,这个文件的文件名必须和文件中的类同名。loadClass()会检查文件中的类是否存在。如果文件中的类不存在,那么就会抛出一个Zend_Exception异常。

(例:TestClass.php中有个类TestClass,使用Zend::loadClass("TestClass")就可加载这个类,这种作法类似于Java-- Haohappy注)
1loadClass($class, $dirs
2参数: 类,目录
如果没有指定$dirs参数,而文件名中存在下划线,那么loadClass()会自动把下划线当成目录分隔符,去相应的目录中去查找文件。

例如:loadClass("Zend_Example_Class") 没指定$dirs参数 ,则 loadClass()会自动到Zend/Example/目录下去查找Class.php文件
1.4. Zend::loadInterface()

Zend::loadInterface()和Zend::loadClass()的用法是一样的,区别在于loadInterface()是用来加载接口。Zend::loadClass() 不能用来加载接口,因为PHP函数class_exists()不能检查Interface是否存在(PHP 5.0.2之前版本),所以需要用Zend::loadInterface()来代替。
1loadInterface($interface, $dirs)
同样,如果你没有指定目录,但是文件中含有下划线_,Zend::loadInterface()也会自动到相应目录去寻找文件,这和Zend::loadClass()是一样的。

1.5. Zend::isReadable()

判定某个文件是否可读,可读则返回true,否则返回false。
1isReadable($filename)
这个方法是将PHP函数is_readable()封装而成的, is_readable()不会自动查找include_path下的文件,而Zend::isReadable()可以。

1.6. Zend::dump()

Zend::dump()打印和返回某个表达式或变量的信息。它是将var_dump()封装而成的。它默认带上了
(X)HTML的<pre>标签,使输出更美观。
1dump($var, $label=null, $echo=true)
$label标签参数是用来加在输出信息之前的一段文本。

(这非常有用,例如你一次要查看多个变量的信息,你可以为不同变量设置不同label,如“user”,“password”等等,这样不会弄乱--Haohappy注)

dump()总会返回信息,但不一定会输出,这取决于$echo参数,指定是否要将信息输出到屏幕。

1.7. Zend::register()

注册一个对象
1register($name, $object)
ZendFramework的"注册表"是一个提供单件对象(singleton instances)给应用程序的机制. 通过注册一个对象,你可以在你需要时再取得这个对象.

$name是对象名称,指定后你可以通过$name来访问这个对象.

$name参数必须是一个字符串。在注册库中只能存储对象,对象将不会被删除,而一个对象只能有一个实例。 如果不符合这几个条件,就会抛出一个Zend_Exception异常。

1.8. Zend::registry()

在“对象注册表”中返回一个对象,或者列出所有已经注册的对象
1registry($name=null)
如果$name参数为空,会返回一个数组,key为对象名称,value为对象的类名称。

如果$name参数为字符串,将返回相应的对象。如果对象不存在,抛出Zend_Exception异常。

posted on 2006-04-04 11:04 编程之道 阅读(719) 评论(1)  编辑 收藏 引用 所属分类: web编程

评论

# re: Zend Framework 手册中文版[连载]  回复  更多评论   

支持....
2006-07-05 00:50 | abson

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理