Addendum PHP Reflection Annotations 是一个PHP的开源,它的网址在: http://code.google.com/p/addendum/
Addendum PHP Reflection Annotations是什么?如果你会JAVA,那么,你肯定了解 JAVA Reflection Annotations。 对于不懂JAVA的人,需要说明一下,它倒底是什么。很简单,它就是一个Reflection 。但这个Reflection 并不是一般的Reflection ,因为它操作的是Annotations。Annotations指的是什么?是代码中的文档与注解。
PHP中的很好的Reflection 可用。但是,却没有Reflection Annotations ,因此,这一代码就让你能够使用这样的功能。
这东西有什么用?用过JAVA Reflection Annotations肯定了解,它能帮助你省下大量的代码。原理是什么呢?因为,有了它,代码中的注解,也是代码了。并且,通过这一手段,能使你实现完全的松耦合。
如果你用过PHP的EXPDO,那么,你肯定会发现,其中也有与此相类似的代码。这就是说,如果实现ORM,那么,它能够为你的ORM对象,进行一个前置的操作,比如,数据验证,如同JAVA 中ORM实现的那样。这也是Addendum最重要的使用场合。
Addendum PHP Reflection Annotations 共有三个文件。 annotations.php 是主程序文件。 annotation_parser.php 则是类型解析器文件。 doc_comment.php 则是处理文档注解的。
使用Addendum 最关键的是,首先需要在类中添加“Annotations”模式的注解。比如以下的例子:
/** @Persistent */
class Person { // some code }
/** @Secured(role = "admin", level = 2) */
class Administration { // some code }
class RolesAllowed extends Annotation {}
/** @RolesAllowed({'admin', 'web-editor'}) */
class CMS { // some code }
Addendum 对函数的参数也能反射,当然,这也需要你给出符合格式的注解,如:
function addUser(/** unique */ $userName, /** integer */ userId)
{some code }
由此可见,其功能是相当强大的。Addendum同时提供了类的生成器?可惜的是JAVA的JAR包。所以,无法了解更多的细节。精通JAVA的不妨可以测试一下它的生成器。更详细的文档,还是直接去看Addendum的项目主页吧。
分享到:
相关推荐
【标题】"addendum_php_" 描述了一个与PHP相关的聊天小程序工具,旨在提供一个学习和实践聊天应用的平台。这个工具可能包含了一系列用于构建实时通信功能的PHP代码、脚本和资源,帮助开发者理解如何在PHP环境中实现...
"addendum"通常指的是对原有文档或软件的附加信息,这可能是一个用于网站建设和内容管理系统的PHP脚本项目,其核心目标是通过PHP编程语言为用户提供内容管理功能。 【描述】中提到的"利用php实现,这是一个用php...
【标题】"addendum_12ykbm_addendum_K._源码" 指的是一种基于PHP语言的源码实现,可能是一个CMS(Content Management System,内容管理系统)的扩展或更新版本,名为"addendum K."。在IT领域,CMS系统是用于构建和...
这个扩展是针对PHP的反射API(Reflection API)进行增强的实现。PHP的反射API允许程序在运行时检查自身结构,如类、接口、函数、方法和常量,而"addendum"则可能是提供了额外的功能或优化。 描述中提到,"addendum...
标题中的"addendum_cg57ob_addendum_K._"似乎是指一个特定的版本或更新,可能是一个CMS(内容管理系统)的附加组件或者补丁。"K."可能是版本号的一部分,也可能代表特定的功能或修复。然而,没有足够的上下文来详细...
在PHP中,反射API(Reflection API)是一个强大的工具,它允许程序在运行时获取关于类、接口、函数、方法和常量的信息,甚至可以修改它们的行为。通常,反射用于元编程,即编写能处理自身代码的代码,例如自动生成...
【标题】"addendum_mujd6y_addendum_K." 提示我们这可能是一个与“addendum”相关的项目,可能是对某个系统或软件的补充或更新。"K." 可能是版本号或者特定功能的标识。 【描述】中提到“利用php实现,这是一个用...
标题中的"addendum_ki4a0n_addendum_K."似乎是一个特定的版本标识或项目代码,而描述中提到了“服务端脚本语言php实现”以及“CMS建站”,这意味着这个压缩包可能包含了使用PHP语言开发的一个内容管理系统(CMS)的...
标题中的"up_309356_addendum_b5d6r.rar"是一个压缩包文件,其中包含的"addendum"部分暗示我们关注的是一个与PHP相关的项目或库,可能是一个扩展或插件,其目标是增强PHP的反射API功能。"addendum"这个词在英语中...
【标题】"addendum_9wmplz_K._addendum_9wmplz_" 提示我们这可能是一个更新或补充性质的PHP项目,其中“9wmplz”可能是项目的个性化标识符,而“K.”可能是开发者或团队的缩写。 【描述】中提到的“一份不错的php...
PHP的反射API(Reflection API)是PHP提供的一组类,允许程序在运行时检查自身的行为。这包括获取类、接口、函数、方法和常量的信息,以及创建和调用它们的实例。反射API在进行元编程时非常有用,比如动态生成代码、...
标题中的"addendum_cbelhe_addendum_K._"可能指的是一个特定的项目或者版本更新,"addendum"通常表示补充或附加内容,而"cbelhe"和"K."可能是项目开发者或版本标识的一部分。结合描述,我们可以推断这是一个基于PHP...
标题 "up_233116_addendum_ekqsw.rar" 提供的信息表明,这是一个与PHP相关的压缩包,其中包含一个名为 "addendum" 的扩展模块,它旨在增强PHP的反射API功能。反射在PHP中是一个重要的概念,允许程序在运行时检查自身...
### TGac Channel Model Addendum #### 一、概述 本文档是关于TGac Channel Model Addendum的研究报告,主要关注的是IEEE 802.11标准中的无线局域网(Wireless LANs)部分,特别是关于TGac(Task Group ac)频道...
标题中的"up_986408_addendum_240cr.rar"是一个压缩包文件,其中包含有关PHP编程的资源。"addendum"在描述中被提及,它是一个扩展PHP反射API的PHP源码实现。这个工具可能提供了一些额外的功能或者优化,使得开发者...
标题中的"up_960493_addendum_oia39.rar"是一个压缩包文件,根据描述,它包含了一份php源码实现,名为"addendum",此源码是针对PHP的反射API的扩展。PHP的反射API允许程序在运行时检查类、接口、函数、方法和常量等...
标题中的"up_1126481_addendum_5x2ith.rar"似乎是一个压缩包文件,其中包含了与PHP编程相关的资源。这个压缩包的名称暗示它可能是一个更新或者补充材料,针对PHP的“addendum”项目,可能是用户自定义的扩展或增强版...
标题 "up_498859_addendum_edjb7a.rar" 提供的信息表明,这是一个与PHP相关的压缩包文件,包含一个名为 "addendum" 的扩展,它扩展了PHP的反射API。描述中提到,"addendum" 是一个PHP源码实现,允许用户以单行或多行...
今天,我们将深入探讨一个名为“addendum”的开源项目,该项目旨在扩展PHP的反射API功能,增强程序员在运行时对代码结构的理解与操作。 首先,理解反射API对于理解“addendum”的作用至关重要。在PHP中,反射API...
【标题】"Wc_addendum_bta"是一个与字体相关的文档补充说明,可能是关于特定字体技术、使用规范或版权信息的附加条款。在IT行业中,字体设计和使用是图形用户界面(GUI)和文档排版的重要组成部分。字体不仅影响文本...