RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Xannotation高性能的PHP注解分析器

Xannotation高性能的PHP注解分析器

2022-06-23 | zip | 0.09 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 LGPL
開發(fā)語言 C/C++
軟件類型 開源軟件
所屬分類 插件和擴展

軟件簡介

phpdoc-parser

高性能的 PHP 注解分析器,基于 PHP7.x 開發(fā)的一個PHP擴展

An extension for PHP document parsing. written in C code.

Author:Josin 774542602@qq.com

使用環(huán)境

PHP7.x

cmake編譯或者PHP擴展編譯

1、擴展編譯

/usr/path_to_php/bin/phpize

./configure?--with-php-config=/usr/path_to_php/php-config

make?-j?&&?sudo?make?install?-j

echo?'xannotation.so'?>>?/usr/path_to_php/php.ini

?

2、cmake

需要cmake 3.10版本

修改?CMakeLists.txt中的?php?路徑,?然后執(zhí)行如下命令即可?????

cmake?.即可

?

簡潔的APIs

Xan 類構(gòu)造函數(shù)

final?class?Xan{
????function?__construct();}

?

類注解: Xan::getClassDocComment($classNameOrObject)

/**
?*?返回類的注解字符串
?*?
?*?@param?$classNameOrObject?類名稱或者對象
?*/function?getClassDocComment($classNameOrObject){
????return?$this;
}

?

方法注解:Xan::getMethodDocComment($classNameOrObject, $methodName)

/**
?*?獲取方法的注解信息,返回注解字符串
?*
?*?@param?$classNameOrObject?類名稱或者對象
?*?@param?$methodName????????方法名
?*/function?getMethodDocComment($classNameOrObject,?$methodName){}

?

解析注解:Xan::parseDocComment($docComments)

/**
?*?返回一個包含注解信息的對象,[body]包含的是說明信息,其余的注解每一個注解是一個數(shù)組
?*?如:
?*?/**
?*??*?類對象A
?*??*
?*??*?@Route("/hello/world")
?*??*?@NotEmpty(,?)
?*??*/
?*?class?A
?*?{
?*?}
?*
?*?那么返回結(jié)果如下:
?*?Array
?*?(
?*?????[annotations]?=>?Array
?*?????????(
?*?????????????[Route]?=>?Array
?*?????????????????(
?*?????????????????????[1]?=>?hello/world
?*?????????????????)
?*?
?*?????????????[method]?=>?Array
?*?????????????????(
?*?????????????????????[3]?=>?vs
?*?????????????????????[value?se]?=>?hello
?*?????????????????????[yes]?=>?fsdfls
?*?????????????????)
?*?
?*?????????)
?*?
?*?????[num]?=>?2
?*?????[body]?=>?
?*?)
?*
?*?@param?$docComments?需要解析的注解信息
?*/function?parseDocComment($docComments){}

?

獲取數(shù)組形式的注解:Xan::getParseResult($docComments)

/**
?*?同?parseDocComent()?結(jié)果,區(qū)別在于返回的數(shù)組還是對象
?*/function?getParseResult($docComments){}

?

獲取類的所有方法的注解信息:parseAllMethodsDocComment($objectOrName)

/**
?*?Function:?`parseAllMethodsDocComment`?used?to?parsing?all?methods?which?in?class{$objectOrName}
?*?return?the?object?contains?the?result,?the?result?format?like?this:
?*?
?*?Xan?Object
?*?(
?*?????[num]?=>?3
?*?????[annotations]?=>?Array
?*?????????(
?*?????????????[world]?=>?Array
?*?????????????????(
?*?????????????????????[annotations]?=>?Array
?*?????????????????????????(
?*?????????????????????????????[Route]?=>?Array
?*?????????????????????????????????(
?*?????????????????????????????????????[1]?=>?hello/world
?*?????????????????????????????????)
?*
?*?????????????????????????????[method]?=>?Array
?*?????????????????????????????????(
?*?????????????????????????????????????[3]?=>?vs
?*?????????????????????????????????????[value?se]?=>?hello
?*?????????????????????????????????????[yes]?=>?fsdfls
?*?????????????????????????????????)
?*
?*?????????????????????????)
?*
?*?????????????????????[num]?=>?2
?*?????????????????????[body]?=>
?*?????????????????)
?*
?*?????????????[getMethodDocComment]?=>?Array
?*?????????????????(
?*?????????????????????[annotations]?=>
?*?????????????????????[num]?=>?0
?*?????????????????????[body]?=>?獲取方法的注解信息,返回一個對象
?*?????????????????)
?*
?*?????????????[getClassDocComment]?=>?Array
?*?????????????????(
?*?????????????????????[annotations]?=>
?*?????????????????????[num]?=>?0
?*?????????????????????[body]?=>?返回類的注解信息
?*?????????????????)
?*?????????)
?*?)
?*?
?*
?*?The?result?contains?the?`num`?key?means?the?methods?number
?*?the?`annotations`?key?contains?the?result?array,?each?key-value?pair?contains?the?key(The?function?name)?&?the?value(array)
?*?each?value?contains?three?key-value?pairs:
?*?`annotations`:?The?annotations?the?function?contains
?*?`num`????????:?The?number?of?the?annotations
?*?`body`???????:?The?body?of?the?annotations
?*
?*?@param?$objectOrName??The?class?name?or?object?which?you?want?to?obtain?the?annotations
?*?@return?this??????????The?object?contains?the?value
?*/function?parseAllMethodsDocComment($objectOrName)?:?this{}
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
RM新时代网站-首页