Zend Framework 自动加载之二:目标和设计

类的命名约定

为了理解 Zend Framework 中的自动加载,首先你要理解类的名字和类的文件之间的关系。

ZEND FRAMEWORK 从 >> PEAR 中借鉴了一个概念,即类的名字和文件系统有一种1:1的关系。简单的说,为了解析到文件的路径,下划线被路径分割符代替,然后再加上 .php 的后缀。例如,类 Foo_Bar_Baz 将会和文件系统上的 Foo/Bar/Baz.php 文件对应。同时还假设类可以通过 PHP 的 includ_path 路径设置被解析,这将允许 include() 和 require() 都能在 include_path 路径上通过一个相对路径查找从而找到文件名。

另外,每一个 PEAR,正如每一个 PHP 项目,我们使用并且建议你的代码也使用一个 VENDOR 或者项目前缀。这意味着你所写的全部类将共享一个通用的类前缀,例如,在 Zend Framework 里面的全部代码都有 Zend_ 前缀。这个命名约定有助于阻止命名冲突。在 Zend Framework 内部,我们通常把这个称为 命名空间 前缀,请注意不要和 PHP 的本地命名空间搞混。

Zend Framework 内部代码遵循这些简单的规则,我们的编码标准鼓励你也这样做。

自动加载器规则和设计

主要由 Zend_Loader_Autoloader 提供的 Zend Framework 自动加载支持有以下目标和设计元素:

  • 提供命名空间匹配。如果类的命名空间的前缀不在已经注册的命名空间的清单中,立刻返回 FALSE。这将允许更多乐观的匹配,同时回调(fallback)到其它自动加载器。
  • 允许自动加载器扮演一个回调(fallback)自动加载器。在一个分布广泛的团队,或者使用一套没有明确定义的命名空间前缀的个案中,自动加载器应该仍然可以配置,以便它会试图匹配任何的命名空间前缀。需要注意的是,然而,这样的实践不被建议,因为它会导致不必要的查找。
  • 允许切换错误抑制。我们觉得 ——同时大部分的 PHP 社区也是这样认为 ——错误抑制是一个糟糕的主意。它的代价昂贵,同时它掩盖了真实应用程序的问题。所以,默认的,它应该被关闭。然而,如果一个开发者坚持它要被打开,我们允许切换到开启状态。
  • 允许为自动加载定制 callbacks。一些开发者不想使用 Zend_Loader::loadClass() 来自动加载,但却想使用 Zend Framework 的机制。Zend_Loader_Autoloader() 允许指定一个代替的 callback 来自动加载。
  • 允许执行 SPL 自动加载 callback 链。这样做的目的是为了允许指定额外的自动加载器——例如,针对和文件系统没有1:1映射关系的类提供的资源加载器——在 Zend Framwork 主要的自动加载器之前或之后注册。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件说明: ACOPY.COM 能够完全复制文件和目录,包括它们的长文件名和属性. coms.com 一个清除CMOS密码和设置的程序. CTMOUSE.EXE CuteMouse 1.9版,DOS下最好最实用的鼠标驱动程序. DELTREE.COM 删除目录和文件的工具. Diskgen.exe 强大的DOS下中文分区软件.一直用它,强烈推荐,强过DM. DREADY.COM 判断驱动器状态,检查光驱中是否有光盘、软盘是否写保护. ESCAPE.EXE 使在任何时候都可以按F12键返回DOS命令行下,以防止死机. FINDCD.EXE 实用的查找光驱盘符的程序. FINDRAMD.EXE 找查虚拟盘的盘符. GH95.COM DOS先运行一次,运行后可以用CTRL+ALT+SHIT+C清空内存. ghost.exe GHOST 8.2 版,如果运行了NTFSDOS.请用EXIT退出后再运行. IFSHLP.SYS 为Win9x提供增强的VFAT文件系统驱动支持(启动Win9x时必备) LABEL.COM 非常小巧的修改磁盘卷标的工具 LFORMAT.EXE 中文硬盘低格 MBR.COM 用来备份或还原MBR引导区的小工具. NTFSDOS.EXE DOS读下完美读写NTFS分区.运行时请输入YES才能读取.用EXIT退出. off.COM 关闭计算机用的..呵呵.. OPEN.COM 打开光驱哦.运行一下光驱自动打开. Password.EXE DOS下清除2K/XP/2K3的用户密码.支持NTFS/FAT32分区.强烈推荐 PCT.EXE DOS下的类似与WIN资源管理器 r.com 运行一下就知道效果啦,呵呵.从新启动计算机用的. SHSUCDHD.EXE 忘了什么东西啦.呵呵.等下试试. Xcopy.EXE 用过的人都知道不用多说了! F32.exe 中文硬盘分区/格式化 SPFDISK.EXE 中文硬盘分区/格式化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值