php实现annotation,php注解类库驱动annotation

点击下载

+----------------------------------------------------------------------+

作者:平平

+----------------------------------------------------------------------+

类名:annotation

+----------------------------------------------------------------------+

功能:php注解类库驱动

+----------------------------------------------------------------------+

网站:http://blog.pingping6.com

+----------------------------------------------------------------------+

邮箱:pingping@pingping6.com

+----------------------------------------------------------------------+

文档地址:https://api.pingping6.com/api/annotation/doc.api

+----------------------------------------------------------------------+

备注:转载请标明作者,如有BUG请发邮箱指正

+----------------------------------------------------------------------+

版权声明:

本类库为本人原创,希望转载或者复制标明出处,

如有BUG请联系我指正。

注解格式/**

* @AnnotationName key="value"

* @author '平平'

*/

注解内容用/**和*/包裹注解名以@开头,可省略key值,分隔符为空格,value值以单双引号隔开

类库不断更新,请支持正版!

+----------------------------------------------------------------------+

public function __construct($type = null, $name = null, $name2 = null)

//构造函数,$type为class(类及其方法),func(函数),prop(类属性),用于初始化注解驱动

//$name为所需扫描的名字(如:类名,函数名)

//$name2仅在prop时有效,在prop时$name为属性所属类名,$name2为属性名

public function function($string)

//初始化function注解扫描

//$string为函数名,返回当前当前对象

public function class($string)

//初始化class注解扫描

//$string为类名,返回当前当前对象

public function property($class, $name)

//初始化property注解扫描

//$class为属性所属类名,$name为属性名,返回当前当前对象

public function getPropertyAnnotation($pre = null)

//获取属性注解,$pre为所需注解名,为空返回全部

//返回注解索引数组

public function getFunctionAnnotation($pre = null)

//获取函数注解,$pre为所需注解名,为空返回全部

//返回注解索引数组

public function getAllFunctionAnnotationInFile($filePath, $pre = null)

//获取文件中所有函数及其注解,无需初始化

//$filePath为文件路径,$pre为所需注解名,为空返回全部

//返回注解索引数组

public function getFileAnnotation($filePath, $pre = null)

//获取文件注解,注解须在开头,无需初始化

//$filePath为文件路径,$pre为所需注解名,为空返回全部

//返回注解索引数组

public function getClassAnnotation($pre = null)

//获取类注解,$pre为所需注解名,为空返回全部

//返回注解索引数组

public function getMethodAnnotation($method, $pre = null)

//获取方法注解,$pre为所需注解名,为空返回全部

//返回注解索引数组

public function getAllMethodAnnotation($pre = null)

//获取类中所有方法注解,$pre为所需注解名,为空返回全部

//返回注解索引数组

public static function getAnnotation($doc, $pre = null)

//静态方法,处理注释,返回注解

//$doc为注释内容,$pre为所需注解名,为空返回全部

//返回注解索引数组

public function haveAnnotation($doc, $pre)

//是否存在某个注解

//$doc为注释内容,$pre为所需注解名

//返回布尔值

public static function getSubstr($str, $leftStr, $rightStr, $all = 0)

//静态方法,截取字符串

//$str为目标字符串

//leftStr为开始字符串, $rightStr为结束字符串(截取第一个)

//$all为0只返回截取后的字符串,为1返回带边界的字符串

//返回截取后的字符串

例子

include('router.class.php');

(new annotation('class','router'))->getClassAnnotation('router');

(new annotation())->getAllFunctionAnnotationInFile('function.php');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javax.annotation.nonnull是Java语言中的一个注解annotation),它的作用是标识一个方法、参数或字段不允许为空(null)。 在Java编程中,经常会出现空指针异常(NullPointerException)的情况,这是因为程序在使用一个空对象的时候,没有进行判断就直接调用了该对象的方法或属性,导致程序出错。为了避免这种情况的发生,我们可以在方法、参数或字段上使用javax.annotation.nonnull注解,强制规定对象不允许为空。这样一来,当程序在使用一个标记为nonnull的对象时,编译器会自动进行检查,如果程序调用了该对象的某个方法或属性,而该对象为空,就会在编译时报错,从而有效地避免了空指针异常的发生。 除了用于规定方法、参数或字段不允许为空之外,javax.annotation.nonnull注解还可以用于编写文档,让其他程序员明确知道使用该方法或参数时是否需要进行非空判断。 需要注意的是,作为一个注解,javax.annotation.nonnull并不是Java语言的核心特性,如果想要使用这个注解,需要先引入相关的类库。目前,Java语言中广泛使用的类库是JSR-305,可以通过在pom.xml中添加以下依赖引入这个类库: <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>3.0.2</version> </dependency> 总之,javax.annotation.nonnull注解是Java编程中一个非常实用的工具,能够有效地避免空指针异常的发生,提高程序的稳定性和健壮性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值