温馨提示  60秒后自动隐藏

本站创建于 2017 年已经提供了 6 年完全免费的服务,开发不易,请 遵守以下规定 !
使用本站API请在贵站:首页(或 用到本站API的页面 )显眼 处用 超链接 链接到本站(或用 显眼字体 标出 本站名及链接 )!
否则本站 有权利 随时 禁止 贵站的使用!
例如:蓝奏云直链下载接口由<a href="http://api.setbug.com">平平免费API</a>提供
例如:本站接口由平平免费API提供(api.setbug.com)

08 : 47 : 34

点击下载

+----------------------------------------------------------------------+
        作者:平平                                                             
+----------------------------------------------------------------------+
        类名:annotation                                                             
+----------------------------------------------------------------------+
        功能:php注解类库驱动                                         
+----------------------------------------------------------------------+
        网站:http://blog.setbug.com                                      
+----------------------------------------------------------------------+
        邮箱:ping@setbug.com                                         
+----------------------------------------------------------------------+
        文档地址:http://api.setbug.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');