<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Xannotation高性能的PHP注解分析器

Xannotation高性能的PHP注解分析器

2022-06-23 | zip | 0.09 MB | 次下載 | 免費

資料介紹

授權協議 LGPL
開發語言 C/C++
操作系統 跨平臺
軟件類型 開源軟件
所屬分類 插件和擴展

軟件簡介

phpdoc-parser

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

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

Author:Josin 774542602@qq.com

使用環境

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?路徑,?然后執行如下命令即可?????

cmake?.即可

?

簡潔的APIs

Xan 類構造函數

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]包含的是說明信息,其余的注解每一個注解是一個數組
?*?如:
?*?/**
?*??*?類對象A
?*??*
?*??*?@Route("/hello/world")
?*??*?@NotEmpty(,?)
?*??*/
?*?class?A
?*?{
?*?}
?*
?*?那么返回結果如下:
?*?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){}

?

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

/**
?*?同?parseDocComent()?結果,區別在于返回的數組還是對象
?*/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數據手冊
  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開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  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次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>