什么是注释标记

我们在平常写代码或看别人写的代码时, 在方法的说明注释中经常会有这样的注释:

/**
* @param $num
* @return array
*/

上面的@param @return 就是注释标记

注释标记用于生成文档, param指明需要接收的参数, return指明返回值

在使用 phpDocumentor 等工具生成文档时, 会识别相关注释, 而且IDE也会识别, 在编码的过程中会给出提示.

PHP注释标记总结

  • @api: 提供给第三方使用的接口
  • @author: 标明作者
  • @param: 参数
  • @return: 返回值
  • @todo: 待办
  • @version: 版本号
  • @inheritdoc: 文档继承
  • @property: 类属性
  • @property-read: 只读属性
  • @property-write: 只写属性
  • @const: 常量
  • @deprecated: 过期方法
  • @example: 示例
  • @final: 标识类是终态, 禁止派生
  • @global: 指明引用的全局变量
  • @static: 标识类、方法、属性是静态的
  • @ignore: 忽略
  • @internal: 限内部使用
  • @license: 协议
  • @link: 链接,引用文档等
  • @see: 与 link 类似, 可以访问内部方法或类
  • @method: 方法
  • @package: 命名空间
  • @since: 从指定版本开始的变动
  • @throws: 抛出异常
  • @uses: 使用
  • @var: 变量
  • @copyright: 版权声明

@author

标明作者

/*
* @author hujing <hu@163.com>
* hujing: 作者名
* hu@163.com: 邮箱
*/

@copyright

版权声明

@copyright [描述]

@deprecated

标明方法是不建议使用的、已过期的或将要删除的

/*
* 语法:
* @deprecated [版本号] [描述]
* eg:
* @see Class::test()
* @deprecated 2.0 将被弃用,请使用test方法
*/

@inheritdoc

会继承父类文档, 且子类出现冲突文档时重写父类文档

@internal

标识此类或方法仅限当前文件使用

@description [描述]

@link

指明外部链接, 必须给出完整url

@link [url] [描述]

@see

此链接不光可以跳转到外部链接, 还可以跳转到内部的指定方法等, 如: class::method

@see [url|内部方法] [描述]

@var

定义数据的类型

@var [类型] [变量名] [描述]

/**
* 可以指定变量的类型
* @var array 名称列表
* 也可以指定变量名, 指定变量时数组或空
* @var array|null $nameList 名称列表
*/

类型列表如下:

  • string: 字符串
  • int/integer: 数字
  • boolean/bool: 布尔
  • float/double: 浮点
  • object: 对象实例
  • TestClass: 指定类
  • mixed: 任意类型
  • array: 数组
  • TestClass[]: 指定类型数组
  • resource: 文件资源
  • void: 无
  • null:
  • callable: 回调函数
  • function: 方法
  • self/$this: 当前实例

@throws

抛出异常

@throws [类型] [描述]

@method

类注释, 标明该类可以调用的方法, 可以令IDE自动提示等

/**
* @method string test(int num) 测试方法
*/

@param

标识参数信息, 类型可参考 @var

@param [类型] [名称] [描述]

@property

类属性, 指明可以直接访问与修改的类属性, 私有属性需要通过 __get __set 魔术方法设置与访问, 类型参考 @var

@property [类型] [名称] [描述]

@property-read

类属性, 指明只读的类属性, 私有属性需要通过 __get 魔术方法访问, 类型参考 @var

@property-write

类属性, 指明只写的类属性, 私有属性需要通过 __set 魔术方法设置, 类型参考 @var

@return

标识方法的返回值, 类型参考 @var

@return [类型] [描述]

@global

标明用到的全局变量

@global [类型] [名称] [描述]

@ignore

标明生成文档是忽略的值

@users

标明使用到了哪些值

/**
* @users Class::$num 使用此属性计数
*/

有一些注释没有给出说明, 是因为个人不是常用, 当然还有一些注释没有总结到, 后面用到了再总结.

PHP注释标记整理的更多相关文章

  1. PHP压缩html网页代码原理(清除空格,换行符,制表符,注释标记)

    本博启用了一个叫wp super cache的页面压缩工具, 源代码没有去查看,不过原理很简单. 我们可以自己动手书写一个压缩脚本. 清除换行符,清除制表符,去掉注释标记 .它所起到的作用不可小视. ...

  2. JVM内存管理------GC算法精解(复制算法与标记/整理算法)

    本次LZ和各位分享GC最后两种算法,复制算法以及标记/整理算法.上一章在讲解标记/清除算法时已经提到过,这两种算法都是在此基础上演化而来的,究竟这两种算法优化了之前标记/清除算法的哪些问题呢? 复制算 ...

  3. PHP Document 注释标记及规范 && PHP命名规范

    注释标记 @access 使用范围:class,function,var,define,module 该标记用于指明关键字的存取权限:private.public或proteced @author 指 ...

  4. <转>GC其他:引用标记-清除、复制、标记-整理的说明

    注:本文根据<深入理解Java虚拟机>第3章部分内容整理而成. 对象死亡历程 1.基本的mark&sweep是必须的,后续的都是对他的改进, 2.young代理的survivor就 ...

  5. JVM垃圾收集算法(标记-清除、复制、标记-整理)

     [JVM垃圾收集算法] 1)标记-清除算法: 标记阶段:先通过根节点,标记所有从根节点开始的对象,未被标记的为垃圾对象(错了吧?) 清除阶段:清除所有未被标记的对象 2)复制算法: 将原有的内存空间 ...

  6. GC其他:引用标记-清除、复制、标记-整理的说明

    对象死亡历程 1.基本的mark&sweep是必须的,后续的都是对他的改进, 2.young代理的survivor就是使用了复制算法,避免碎片 3.还有标记整理算法(压缩),就是将存活的对象移 ...

  7. JVM之GC算法、垃圾收集算法——标记-清除算法、复制算法、标记-整理算法、分代收集算法

    标记-清除算法 此垃圾收集算法分为“标记”和“清除”两个阶段: 首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记对象,它的标记过程前面已经说过——如何判断对象是否存活/死去 死去的对象就会 ...

  8. JVM内存管理之GC算法精解(复制算法与标记/整理算法)

    本次LZ和各位分享GC最后两种算法,复制算法以及标记/整理算法.上一章在讲解标记/清除算法时已经提到过,这两种算法都是在此基础上演化而来的,究竟这两种算法优化了之前标记/清除算法的哪些问题呢? 复制算 ...

  9. C#中的XML文档注释-推荐的文档注释标记

    文档注释是为了方便自己和他人更好地理解代码所实现的功能.下面记录了一些常用的文档注释标记: <C> 用法: <c>text</c> 将说明中的文本标记为代码.例如: ...

随机推荐

  1. Python中机器学习-验证码识别-粗略总结

    #验证码识别# 解决办法:将验证码切割成单个字符训练 遇到问题:验证码字符大小不一或重叠 对上述问题的解决:通过CNN(卷积神经网络)直接就是端到端不分割的识别方式 处理验证码:将图片二值化 输入验证 ...

  2. 渗透测试学习 二十九、kali安装,信息搜集,服务器扫描

    kali安装,信息搜集,服务器扫描 kali介绍 Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统.由Offensive Security Ltd维护和资助.最先由 ...

  3. The Preliminary Contest for ICPC Asia Nanjing 2019

    传送门 A. The beautiful values of the palace 题意: 给出一个\(n*n\)的矩阵,并满足\(n\)为奇数,矩阵中的数从右上角开始往下,类似于蛇形填数那样来填充. ...

  4. 9.jenkins 集群

    一. 集群配置 实际生产中,需要配置集群,来配合使用. jenkins  主节点需要安装插件 SSH Slaves 从节点(就是slave的机器)需要安装 jdk 开发包 yum install -y ...

  5. (day65)作业

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. CSP2019 S2滚粗记

    最好分数:100+20+10+64+64+55 最坏分数:100+20+10+64+36+55 咕咕数据分数:100+25+10+64+60+55 CCF官方: 100+35+10+64+36+55= ...

  7. 第04组 Beta冲刺(4/5)

    队名:new game 组长博客 作业博客 组员情况 鲍子涵(队长) 过去两天完成了哪些任务 地图移动 接下来的计划 素材和脚本相连 引入声音素材 还剩下哪些任务 让游戏本体运行 遇到了哪些困难 时间 ...

  8. python--基础知识点梳理(之数据结构)

    数据结构: # 按逻辑结构(面向问题)分为:集合结构.线性结构.树形结构.图形结构 # 按物理结构(面向计算机)分为: # 顺序存储结构(把数据元素放在地址连续的存储单元中,数据间的逻辑关系和物理关系 ...

  9. Mybatis智能标签

    一.ProviderDao层 //智能标签案例 //智能标签多条件查询 public List<Provider> providerTest(@Param("proCode&qu ...

  10. 10-Django中间件

    中间件 Django中的中间件是一个轻量级.底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入和输出. 中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Djang ...