当前位置:首页 > 开发 > 编程语言 > PHP > 正文

Addendum PHP Reflection Annotations简介

发表于: 2011-02-16   作者:bardo   来源:转载   浏览次数:
摘要:         Addendum PHP Reflection Annotations 是一个PHP的开源,它的网址在:  http://code.google.com/p/addendum/         Addendum PHP R

        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 Reflection Annotations简介

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Data Annotations   Entity Framework Code First 利用一种被称为约定(Conventions)优于配置(C
本文地址:http://www.cnblogs.com/egger/p/3404159.html 欢迎转载 ,请保留此链接๑•́ ₃•̀๑
大家介绍Hibernate Annotations,可能好多人还不了解Hibernate Annotations,先讨论一下 hbm.xml 与
CascadeType.PERSIST (级联新建) CascadeType.REMOVE (级联删除) CascadeType.REFRESH (级联刷
Android Annotations号称 "是一个能够加速 Android 开发的开源框架,它可以帮助开发者处理 一些 前
参考:试用android annotations Android Annotations号称 "是一个能够加速 Android 开发的开源框架
下载hibernate-release-4.1.3.Final.tgz 例子在这里: hibernate-release-4.1.3.Final\documentatio
Php是一个非常流行的web服务端脚本语言。其实,php不仅仅可以在web服务器中充当重要角色。在命令行
Php是一个非常流行的web服务端脚本语言。其实,php不仅仅可以在web服务器中充当重要角色。在命令行
Php是一个非常流行的web服务端脚本语言。其实,php不仅仅可以在web服务器中充当重要角色。在命令行
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号