`
bardo
  • 浏览: 378856 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11820
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10127
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9516
社区版块
存档分类
最新评论

Addendum PHP Reflection Annotations简介

    博客分类:
  • PHP
阅读更多

        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的项目主页吧。

0
0
分享到:
评论

相关推荐

    addendum_php_

    【标题】"addendum_php_" 描述了一个与PHP相关的聊天小程序工具,旨在提供一个学习和实践聊天应用的平台。这个工具可能包含了一系列用于构建实时通信功能的PHP代码、脚本和资源,帮助开发者理解如何在PHP环境中实现...

    addendum_k86w2g_addendum_K._源码

    "addendum"通常指的是对原有文档或软件的附加信息,这可能是一个用于网站建设和内容管理系统的PHP脚本项目,其核心目标是通过PHP编程语言为用户提供内容管理功能。 【描述】中提到的"利用php实现,这是一个用php...

    addendum_12ykbm_addendum_K._源码

    【标题】"addendum_12ykbm_addendum_K._源码" 指的是一种基于PHP语言的源码实现,可能是一个CMS(Content Management System,内容管理系统)的扩展或更新版本,名为"addendum K."。在IT领域,CMS系统是用于构建和...

    up_195606_addendum_qrkoy.rar

    这个扩展是针对PHP的反射API(Reflection API)进行增强的实现。PHP的反射API允许程序在运行时检查自身结构,如类、接口、函数、方法和常量,而"addendum"则可能是提供了额外的功能或优化。 描述中提到,"addendum...

    addendum_cg57ob_addendum_K._

    标题中的"addendum_cg57ob_addendum_K._"似乎是指一个特定的版本或更新,可能是一个CMS(内容管理系统)的附加组件或者补丁。"K."可能是版本号的一部分,也可能代表特定的功能或修复。然而,没有足够的上下文来详细...

    up_262855_addendum_izra5a.rar

    在PHP中,反射API(Reflection API)是一个强大的工具,它允许程序在运行时获取关于类、接口、函数、方法和常量的信息,甚至可以修改它们的行为。通常,反射用于元编程,即编写能处理自身代码的代码,例如自动生成...

    addendum_mujd6y_addendum_K._

    【标题】"addendum_mujd6y_addendum_K." 提示我们这可能是一个与“addendum”相关的项目,可能是对某个系统或软件的补充或更新。"K." 可能是版本号或者特定功能的标识。 【描述】中提到“利用php实现,这是一个用...

    addendum_ki4a0n_addendum_K._

    标题中的"addendum_ki4a0n_addendum_K."似乎是一个特定的版本标识或项目代码,而描述中提到了“服务端脚本语言php实现”以及“CMS建站”,这意味着这个压缩包可能包含了使用PHP语言开发的一个内容管理系统(CMS)的...

    up_309356_addendum_b5d6r.rar

    标题中的"up_309356_addendum_b5d6r.rar"是一个压缩包文件,其中包含的"addendum"部分暗示我们关注的是一个与PHP相关的项目或库,可能是一个扩展或插件,其目标是增强PHP的反射API功能。"addendum"这个词在英语中...

    addendum_9wmplz_K._addendum_9wmplz_

    【标题】"addendum_9wmplz_K._addendum_9wmplz_" 提示我们这可能是一个更新或补充性质的PHP项目,其中“9wmplz”可能是项目的个性化标识符,而“K.”可能是开发者或团队的缩写。 【描述】中提到的“一份不错的php...

    up_183970_addendum_neuhg.rar

    PHP的反射API(Reflection API)是PHP提供的一组类,允许程序在运行时检查自身的行为。这包括获取类、接口、函数、方法和常量的信息,以及创建和调用它们的实例。反射API在进行元编程时非常有用,比如动态生成代码、...

    addendum_cbelhe_addendum_K._

    标题中的"addendum_cbelhe_addendum_K._"可能指的是一个特定的项目或者版本更新,"addendum"通常表示补充或附加内容,而"cbelhe"和"K."可能是项目开发者或版本标识的一部分。结合描述,我们可以推断这是一个基于PHP...

    up_233116_addendum_ekqsw.rar

    标题 "up_233116_addendum_ekqsw.rar" 提供的信息表明,这是一个与PHP相关的压缩包,其中包含一个名为 "addendum" 的扩展模块,它旨在增强PHP的反射API功能。反射在PHP中是一个重要的概念,允许程序在运行时检查自身...

    TGac Channel Model Addendum

    ### TGac Channel Model Addendum #### 一、概述 本文档是关于TGac Channel Model Addendum的研究报告,主要关注的是IEEE 802.11标准中的无线局域网(Wireless LANs)部分,特别是关于TGac(Task Group ac)频道...

    up_986408_addendum_240cr.rar

    标题中的"up_986408_addendum_240cr.rar"是一个压缩包文件,其中包含有关PHP编程的资源。"addendum"在描述中被提及,它是一个扩展PHP反射API的PHP源码实现。这个工具可能提供了一些额外的功能或者优化,使得开发者...

    up_960493_addendum_oia39.rar

    标题中的"up_960493_addendum_oia39.rar"是一个压缩包文件,根据描述,它包含了一份php源码实现,名为"addendum",此源码是针对PHP的反射API的扩展。PHP的反射API允许程序在运行时检查类、接口、函数、方法和常量等...

    up_1126481_addendum_5x2ith.rar

    标题中的"up_1126481_addendum_5x2ith.rar"似乎是一个压缩包文件,其中包含了与PHP编程相关的资源。这个压缩包的名称暗示它可能是一个更新或者补充材料,针对PHP的“addendum”项目,可能是用户自定义的扩展或增强版...

    up_498859_addendum_edjb7a.rar

    标题 "up_498859_addendum_edjb7a.rar" 提供的信息表明,这是一个与PHP相关的压缩包文件,包含一个名为 "addendum" 的扩展,它扩展了PHP的反射API。描述中提到,"addendum" 是一个PHP源码实现,允许用户以单行或多行...

    up_290154_addendum_zdwb1.rar

    今天,我们将深入探讨一个名为“addendum”的开源项目,该项目旨在扩展PHP的反射API功能,增强程序员在运行时对代码结构的理解与操作。 首先,理解反射API对于理解“addendum”的作用至关重要。在PHP中,反射API...

    Wc_addendum_bta

    【标题】"Wc_addendum_bta"是一个与字体相关的文档补充说明,可能是关于特定字体技术、使用规范或版权信息的附加条款。在IT行业中,字体设计和使用是图形用户界面(GUI)和文档排版的重要组成部分。字体不仅影响文本...

Global site tag (gtag.js) - Google Analytics