- 浏览: 339807 次
- 性别:
- 来自: 北京
博客专栏
-
高性能PHP框架Yii分析...
浏览量:85093
文章分类
最新评论
-
huxiaoyunhust:
价值观这种东西,说不好听是口号,其实是公司每天潜移默化的感染, ...
关于企业价值观的一点点感悟 -
silentime:
stef831018 写道你想多了,企业价值观就两个字:利益怎 ...
关于企业价值观的一点点感悟 -
stef831018:
你想多了,企业价值观就两个字:利益
关于企业价值观的一点点感悟 -
guoyuqiangf8:
关于企业价值观的一点点感悟 -
silentime:
mangguo 写道推荐大家去看看我写的python入门,可以 ...
python如何打印变量的类型
1. 为什么要写注释文档?
任何软件项目想要成功的关键之一是有好的文档,写出好的文档甚至要比写出好的代码更为重要。作为阅读代码时的第一印象,注释能够让开发人员深入你的代码。phpDocument就是为了跟容易生成文档而出现的,她甚至可以为想同的代码生成不同的文档集。
2. 使用phpDocumentor生成两种不同的文档
事实上,我们常常需要生成两种文档提供给不同的用户,例如我们可以生成“使用手册”给最终用户,生成“编程手册”给程序员。更深一步,我们可以使用@access标记来标明程序级的元素的访问属性,也可以使用@internal标记来标明文档的访问权限。
3. phpDocumentor是什么?可以用来做什么?
phpDocumentor是一个用PHP实现的,能够直接从PHP代码或者外部文档生成完整文档的工具。事实上,php代码本身是清楚易懂得,甚至可以直接作为自己的说明文档。phpDocumentor通过解析PHP代码的逻辑结构(例如文件,类,函数,常量,全局变量,类成员/方法等),重新整理之后生成普通的可读说明文档。在1.3.0版之后,PHP5中新加入的代码元素(如类常量,接口等)也可以解析了。输出的文档有多种格式(HTML,PDF,CHM),因此通过web浏览器浏览、打印及整合至IDE。
phpDocumentor通过读取代码中一种特殊的注释(DocBlock)来生成说明文档。作为项目开发者,将对他人有帮助意义的信息写入DocBlock。
尽管添加简洁信息在代码里是必要的,但是不能代替真正那些不能写在源代码中的那些“冗长”信息,比如用户使用手册和说明文档。
4. 安装phpDocumentor
有两种方法安装phpDocument,一种是通过pear安装,另外一种是通过源码安装。
pear安装:
$ pear install PhpDocumentor
源码安装:
下载代码:http://sourceforge.net/projects/phpdocu/files/
安装有PHP的环境,就可以执行源码包的phpdoc的命令行程序了
5. 一个简单的使用示例
$ phpdoc -o HTML:frames:earthli -f sample1.php -t docs
-o选项表示输出文件格式,-f表示要分析的代码文件,-t表示输出的目录
查看帮助使用:phpdoc –h
6. phpDocument基础
(1) 基本的docblock
/** * */
(2)docblock的基本组成:短描述,长描述,标签
/** * Short desc * * Long description first sentence starts here * and continues on this line for a while * finally concluding here at the end of * this paragraph * * The blank line above denotes a paragraph break */
(3)docblock的描述标记
<b> -- 强调/黑体
<code> -- 用于围绕php代码,可以显示语法高亮
<br> -- 换行标识,但有可能被一些文档转换器忽略
<i> -- 斜体,用于表示重要的内容
<kbd> -- 代表键盘输入/屏幕显示
<li> -- 列表元素
<ol> -- 顺序列表
<p> -- 段落标记
<pre> -- 换行和空格保留标记(把所有标记认为是纯文本)
<samp> -- 代表例子(非php)
<ul> -- 无序列表
<var> -- 代表变量名
特殊用法:
a) 在极少的情况下,<b>用<<b>>来表示
b) 如果需要在docblock中使用’@’符号,需要加上转义符,即用’\@’表示
c) 如果需要在docblock中使用’*/’符号,需要使用’{@*}’
(4) docblock模板
从1.2.0版开始,phpDocumentor支持docblock模板功能,模板可以减少大量的重复注释写入,比如,如果很多类成员都是私有成员,你就可以使用docblock模板来标明这些变量都是私有的:
docblock模板以’/**#@+**/’开头,以’/**#@-*/’结尾
class Bob { // beginning of docblock template area /**#@+ * @access private * @var string */ var $_var1 = 'hello'; var $_var2 = 'my'; var $_var3 = 'name'; /** * Two words */ var $_var8 = 'like strings'; /**#@-*/ var $publicvar = 'Lookee me!'; }
会解析成:
class Bob { // beginning of docblock template area /** * @access private * @var string */ var $_var1 = 'hello'; /** * @access private * @var string */ var $_var2 = 'my'; /** * @access private * @var string */ var $_var3 = 'name'; /** * Two words * @access private * @var string */ var $_var8 = 'like strings'; var $publicvar = 'Lookee me!'; }
(5)标签
标签就是以’@’开头的一个标记,用于告诉phpDocumentor如何表示信息以及修改文档的展示方式。
* @abstract
* @access 共有或者私有
* @author 作者姓名 <作者email>
* @copyright 名称 日期
* @deprecated 描述
* @deprec 描述的别名
* @example /path/to/example
* @exception 与Javadoc兼容
* @global 类型 $globalvarname
or
* @global 函数中使用的全局变量描述
* @ignore
* @internal 内部信息或者高级程序员使用
* @param 类型 [$varname] 描述
* @return 类型 描述
* @link URL
* @name 页面别名
or
* @name 全局别名
* @magic 兼容phpdoc.de
* @package 包名称
* @see 名称或其他能记录在文档中的内容,
* 在文档中生成一个指向内容的链接
* @since 版本或者日期
* @static
* @staticvar 函数中使用的静态变量的描述
* @subpackage 项目中分组后的子包
* @throws 兼容Javadoc
* @todo 兼容phpdoc.de
* @var 类型,类成员的数据类型
* @version 版本
7. 生成PHP项目文档
(1) 准备工作
先使用phpDocumentor测试一下你的项目吧
(3)使用命令行工具(linux)
-c, --config
用于加载配置文件
-cp, --converterparams
用于传递扩展转换器的动态参数,选项以逗号分隔
-ct, --customtags
自定义标签选项,选项以逗号分隔
-dh, --hidden
使用此选项用于屏蔽分析以.开头的文件
-dc, --defaultcategoryname
用于设置任何未分类的文件的默认分类
-dn, --defaultpackagename
用于设置任何未定义包名称的默认包名称
-d, --directory
这个选项或者-f选项必须要制定,如果使用-d,则会递归的分析指定的目录下以.php结尾的文件
-ed, --examplesdir
指定实例文件夹
-f, --filename
这个选项或者-d必须指定一个,如果使用-f,会分析单个文件
-i, --ignore
设置需要忽略的文件或者目录
-is, --ignoresymlinks
设定忽略符号链接
-it, --ignore-tags
设定忽略标签
-j, --javadocdesc
设定解析时兼容javadoc格式
-o, --output
设置输出文件的格式
HTML:frames:* - 包含iframe的HTML格式
HTML:frames:default – Javadoc风格的文档模板,很少有格式
HTML:frames:earthli – 漂亮的模板(作者:Marco von Ballmoos)
HTML:frames:l0l33t – 流行模板
HTML:frames:phpdoc.de – 类似于phpdoc.de的PHPDoc输出
HTML:frames:phphtmllib – 非常棒的用户贡献模板
HTML:frames:phpedit – 基于PHPEdit Help Generator的文档
HTML:Smarty:* - 不使用iframe的HTML格式
HTML:Smarty:default – 使用css控制的黑体模板
HTML:Smarty:HandS – 基于PHP的格式,但是经过优化,带有logo图片
HTML:Smarty:PHP – 风格接近PHP官网
CHM:default:* - 输出CHM帮助文档
CHM:default:default – windows帮助文档,基于HTML:frames:l0l33t
PDF:default:* - PDF格式
PDF:default:default – 标准纯文本PDF格式
XML:DocBook:* - 以DocBook格式输出的XML
XML:DocBook/peardoc2:default – 可以被编译成peardoc的文档
-pp, --parseprivate
默认情况下,phpDocumentor不会把标记为@access private纳入文档,使用此选项可以将其纳入
-po, --packageoutput
使用此选项会将输出文档中以@package分组的标记(逗号分隔)删除
-p, --pear
使用此选项可以解析pear风格的文档
-q, --quiet
此选项将压缩命令行的输出
-s, --sourcecode
使用此选项会为每一个被解析的文件生成高亮代码,谨慎使用
-t, --target
目标路径,设定输出文档的目录
-tb, --templatebase
接受一个路径作为它的参数,设置文档模板的路径,不指定情况下为<phpDocumentor install directory>/phpDocumentor,phpDocument会在此路径的子文件夹下搜索可用的模板
-ti, --title
生成的文档的标题
-ue, --undocumentedelements
这个选项用于设置在遇到没有docblock标记的class或者method时,是否输出warning信息
8. 代码中的标签
define声明:
@name
函数声明:
@global
@param
@return
@staticvar
inline{@source}
全局变量:
@name
类元素:
@package
@subpackage
@static
继承标签:
在子类的docblock前使用关键字inherite指定从父类继承docblock,可以覆盖
类变量:
@var
类方法
@global
@param
@return
@static
@staticvar
inline{@source}
发表评论
-
[转]PHP的内存管理
2015-05-11 22:03 889原文出处:http://blogread.cn/it/ar ... -
《高性能PHP应用开发》读书笔记
2014-12-24 09:20 799注:只记录了一些关键点,部分知识点/内容请看到的朋友 ... -
[转]HTTP缓存算法
2013-01-04 14:34 1387原文地址:http://www.p ... -
【转】漫谈社区PHP 业务开发
2012-11-19 10:07 1121原文地址:http://stblog.baidu-tech.c ... -
Yii分析13:Yii核心组件之AssetManager
2012-04-10 00:37 4400我们通过使用来讲解CAssetManager的使用和工 ... -
Yii分析12:Yii核心web组件之会话类CHttpSession
2012-03-06 09:44 3236CHttpSession提供session级的数据管理和配置 ... -
Yii分析11:Yii核心组件之错误处理类CErrorHandler
2012-02-24 09:57 4155类如其名,CErrorHandler在Yii中主要的功能 ... -
Yii分析10:Yii核心组件之数据库类CDbConnection
2012-02-17 09:18 8557数据库类几乎是每个PHP框架必不可少的组件之一,Yii的 ... -
Yii分析9:CController控制视图(Cview)的展现
2011-11-30 00:01 4894《The Definitive Guide to ... -
[转]优酷网架构学习笔记
2011-11-22 10:22 1450原文地址:http://www.itivy.com/ivy/a ... -
[转]YouTube架构学习体会
2011-11-22 10:15 1223原文地址:http://www.itivy.com/ivy/a ... -
[转]深掘XSS漏洞场景之XSS Rootkit
2011-10-21 12:22 1364转载顿神大作:http://www.80sec.com/%E6 ... -
Yii分析7:runController的执行
2011-10-20 17:28 6013在《Yii分析4:run的执行》一文中,介绍了Yi ... -
关于PHP错误:unexpected T_PAAMAYIM_NEKUDOTAYIM
2011-10-08 16:23 1979PHP解析错误:Parse error: syntax err ... -
[推荐]基于PHP和MySQL的开源点击统计软件Piwik
2011-08-10 11:50 1767刚刚发现一款基于PHP和MySQL的开源点击统计软 ... -
PHP的is_callable和method_exists方法比较
2011-08-03 13:17 2239之前发过一篇关于is_callable的文章,主要是PHP手册 ... -
Yii分析6:CHttpRequest
2011-08-03 11:20 2897官方说明:CHttpRequest封装了$_SERVER变量, ... -
[转]10种方式实现跨域资源的共享
2011-07-27 10:50 1077原文地址:http://www.ued16 ... -
[转]高级PHP应用程序漏洞审核技术
2011-07-19 10:18 1936原文地址:http://code.google.com/p/p ... -
使用PHP的SESSION直接保存对象需要注意隐含的序列化
2011-06-23 14:12 3394昨天在调试代码时,在同一个sever上有两个版本的代码,刚开始 ...
相关推荐
总的来说,PHPDocumentor 2 是 PHP 开发者的得力助手,通过自动化文档生成,它帮助开发者遵循良好的编码实践,提高代码的可读性和可维护性,同时降低了新成员加入项目时的学习成本。了解并熟练使用 PHPDocumentor 2...
**PHPDocumentor 1.4.3:构建专业API文档的利器** PHPDocumentor是一款强大的开源工具,专门用于解析PHP源代码并生成高质量的API文档。这个版本是1.4.3,它在PHP开发社区中广泛使用,因为它极大地简化了开发者记录...
phpDocumentor v1.4.3 Web Interface 使用PhpDocument生成帮助文档说明 有利于项目维护 内有使用说明,采用word文档方式介绍如何使用phpDocumentor 还包含图片说明
1. **安装**:你可以通过Composer在项目中安装phpDocumentor,命令行输入`composer require phpdocumentor/phpdocumentor`。 2. **配置**:创建一个`.phpdoc.dist.xml`或`.phpdoc.xml`配置文件,以定制生成的文档...
Web界面方式则是在浏览器中通过访问phpDocumentor所在目录,然后通过Web界面选择要处理的文件或文件夹,选择输出路径和格式,并最终生成文档。在成功生成文档后,会显示相关的进度和状态信息。 phpDocumentor对注释...
php-phpdocumentor-reflection-docblock5-5.1.0-1.el7.remi.noarch.rpm
php-phpdocumentor-reflection-docblock5-5.2.0-1.el7.remi.noarch.rpm
php-phpdocumentor-reflection-common2-2.2.0-1.el7.remi.noarch.rpm
php-phpdocumentor-type-resolver1-1.3.0-1.el7.remi.noarch.rpm
较 phpDocumentor 1在Zend Framework 下的处理耗时有了明显的减少。 低内存消耗,小中大型工程的内存消耗分别低于20MB,40MB和100MB。 增量解析。如果你有之前运行phpdoc获得的structure.xml文件,那么小修改...
8. **注释规范**:学习使用PhpDocumentor需要理解其特定的注释格式和规则,以便正确地注解代码以生成有效文档。 以上就是关于PhpDocumentor及其核心功能的详细解析,作为一款强大的PHP文档工具,它对于提高代码的...
本文将详细介绍如何使用PhpDocumentor以及如何编写符合规范的注释。 一、命令行使用PhpDocumentor 在命令行中使用PhpDocumentor,首先确保你已经在服务器上安装了该工具。在PhpDocumentor的安装目录下,你可以通过...
phpDocumentor 的 ReflectionDocBlock 组件提供了一个与 PHPDoc ... create 方法将生成一个类型为 \phpDocumentor\Reflection\DocBlock 的对象,其方法可以被查询。 作曲家需要 phpdocumentor/reflection-docblock。
phpDocumentor 什么是phpDocumentor? phpDocumentor是一个应用程序,能够分析您PHP源代码和DocBlock注释以生成完整的API文档集。 受phpDocumentor 1和JavaDoc的启发,它不断创新,并具有最新技术和PHP语言功能。 ...
通过分析这些文件,开发者可以了解项目的架构,学习如何使用和定制`phpDocumentor`,甚至为项目贡献新的功能或修复已知问题。 **phpDocumentor的使用** 使用`phpDocumentor`通常涉及以下步骤: 1. **安装**:可以...
`phpDocumentor 2`的主要特点包括: 1. **兼容性**:它支持PHP 5.3及以上版本,能够处理命名空间和闭包等新特性。 2. **广泛标签支持**:它识别并处理各种自定义tag,包括`@link`等。 3. **性能提升**:相比`...
"responsive:支持源代码的phpdocumentor模板响应"这个标题表明我们讨论的是一个专门为PHPDocumentor工具设计的响应式模板。PHPDocumentor是一款强大的PHP文档生成工具,它能自动解析PHP源代码并生成易于理解的API...
phpstan-ga phpdocumentor的phpstan github动作