如何在 Eclipse 中使用 PHPdoc

2024-03-17

我们目前正处于一个新项目的开始阶段,希望(这一次)从一开始就尽可能多地发表评论,以帮助未来的发展。

我试图找出在 Eclipse 中使用 phpDoc 的最佳实践,但结果非常有限。

您能分享一下在 Eclipse 中使用 phpDoc 注释内容的最佳实践和技巧吗?


对于应该注释什么以及如何注释,没有“真正的标准”,但是几乎任何注释其代码的人都会使用一些标签。

例如,我通常至少使用:

  • 简短的描述
  • 可选的长描述
  • @param type name description:用于函数/方法的参数
  • @returns type:用于函数/方法的返回值
  • @throws ExceptionType:如果函数/方法在某些情况下抛出异常
  • @see ..。 :当我想引用另一个文件或提供更多信息的 URL 时
  • 根据项目的结构,我还可以使用@package and @subpackage
  • 当你在一个类中拥有魔法属性时,另一个很好的选择(它们无法被您的 IDE 看到,因为它们是写在代码中的) is @property type $name:它允许 Eclipse PDT 进行自动完成,甚至在魔法属性上也是如此——例如,Doctrine 就使用了它。

其中大部分由 Eclipse PDT 使用来帮助您编码(尤其@param);但请随意添加一些 Eclipse PDT 未使用的内容:如果您从代码生成文档,它总是有用的;-)


我能给您的最好建议是查看一些大型应用程序和/或框架的源代码(Zend 框架、学说……),看看他们的代码是如何注释的——他们很可能使用的是被广泛接受的东西。

例如,如果您查看 Zend Framework 代码,您可以找到类的类似内容:

/**
 * @package    Zend_Cache
 * @subpackage Zend_Cache_Backend
 * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
class Zend_Cache_Backend_Apc extends Zend_Cache_Backend implements Zend_Cache_Backend_ExtendedInterface

对于一个方法来说就像这样:

/**
 * Test if a cache is available for the given id and (if yes) return it (false else)
 *
 * WARNING $doNotTestCacheValidity=true is unsupported by the Apc backend
 *
 * @param  string  $id                     cache id
 * @param  boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested
 * @return string cached datas (or false)
 */
public function load($id, $doNotTestCacheValidity = false)


无论如何,最重要的是保持一致:团队中的每个成员都应该以相同的方式发表评论,遵循相同的约定。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Eclipse 中使用 PHPdoc 的相关文章

  • 如何在codeigniter中从数据库返回最后一条记录?

    我正在尝试获取我拥有数据的最后日期 所以我想打印 date data 列中的最后一个日期 在模型中 public function last record query this gt db gt select LAST date data
  • “key”是MySqli中的保留字吗?我收到错误

    我刚刚真正接触 MySql MySqli 并且正在使用准备好的语句 除了这一行之外 我的整个脚本运行良好 if stmt con gt prepare SELECT bandHash userHash userPassHash type F
  • 包含我导入的 jar 的名称是什么?

    我不认为这是重复的 我找不到我正在寻找的简单答案 在 Eclipse Juno 中 我想突出显示任何单个导入语句并找出哪个 jar 包含该包 类 这在 Eclipse 中可能吗 如果是这样 怎么办 EDIT 这个问题看起来很相似 但没有回答
  • Mysql正则表达式搜索不包含重复字符

    我有一个数据库表 其中包含字典中的单词 现在我想选择字谜词 例如 如果我给出字符串SEPIAN它应该获取像这样的值apes pain pains pies pines sepia etc 为此 我使用了查询 SELECT FROM word
  • .htaccess php_value include_path 不起作用

    我在当地有一个小项目 我在 Windows 下使用 XAMPP 工作 我的文件目录结构是 根目录 C xampp htdocs routes Under this folder I have my bootstrap php with th
  • 使用PHP exec调用Node脚本并在finally方法之前将数据返回给PHP

    我有一个 PHP 脚本 它使用exec函数来执行 Node 脚本并将一些数据返回到同一 PHP 脚本 我的问题是我需要将数据返回给 PHP 而不必等待中的清理代码finally完成 我在下面编写了一些示例代码 向您展示代码的流程并说明我的问
  • PHP APC 潜在的缓存猛击避免了密钥

    我在尝试使用时收到此错误apc store 我用谷歌搜索了一下 发现这是APC定时炸弹错误并看到了一些建议添加的修复apc slam defense Off 到 php ini 我需要知道这是否是由于编程错误而发生的 如果是 如何修复它 这
  • Eclipse JSP:默认文本文件编码不正确

    我有以下问题 我创建了一个新的 动态 Web 项目 并将一些现有的 jsp 文件导入其中 如果我右键单击导入的 jsp 文件之一 然后单击 属性 gt 资源 则在 文本文件编码 部分下 值为 默认 由内容类型确定 ISO 8859 1 不过
  • php PDO 可以获取两个结果集吗?如果是,1 个结果集和 1 个以上结果集哪个更好?

    如果可能的话 如何获取两个结果集 sth dbh gt prepare SELECT FROM tb1 WHERE cond1 SELECT from tb2 Where cond2 sth gt execute row sth gt fe
  • 重新排列关联数组的最优雅的方法是什么?

    假设你有一个关联数组 hash Fruit Apple hash Name Jeff hash Car Ford 并且您无法更改这些变量的创建顺序 因此 Car 总是在 Name 等之后添加到数组中 将 Car 添加 移动到关联数组的开头而
  • 我可以在 MySQL 中存储图像吗?

    这个问题在这里已经有答案了 可能的重复 MySQL 中的图像 https stackoverflow com questions 1665730 images in mysql 在 MySQL 中存储图像 https stackoverfl
  • 通过php在csv单元格中创建回车符

    我正在尝试动态生成一个 csv 文件 其中包含一些包含多行的单元格 例如 地址字段需要分组为单个 地址 单元格 而不是地址 城市 州等 一切进展顺利 但在过去的两天里 我尝试在代码中插入 r r n n chr 10 chr 13 以及回车
  • Laravel 5.2 升级 - 找不到类 AuthServiceProvider

    我目前正在花时间将我的项目从 Laravel 4 2 升级到 Laravel 5 2 经过很多麻烦 我设法让 5 1 版本正确运行 因此我按照官方文档中所述开始了 5 1 到 5 2 的过程 https laravel com docs 5
  • 在 Eclipse 中编写链接特定行的注释

    我正在 Java 中使用 Eclipse 并且处理很长的类 我需要这样的功能 在方法的顶部注释中 例如 有一个由该方法执行的操作列表 对于列出的每个操作 我想将注释的一部分 超链接 到相关代码的特定行 然后使用 Ctrl Click 到该行
  • 如何接收在 PHP 中使用“application/octet-stream”发送的 POST 数据?

    这就是我正在处理的事情 我们的一个计划有一个支持表格 用户可以使用它来请求支持 此表单的作用是 它向 PHP 脚本执行 HTTP POST 请求 该脚本应该收集信息并将其转发到支持电子邮件地址 POST 请求包含三个类型的文本字段Conte
  • 警告:sqlsrv_num_rows() 期望参数 1 为资源,给定布尔值[重复]

    这个问题在这里已经有答案了 出现此警告的原因有很多 但是 我认为我的问题是该表APPT为空 并且不包含任何内容row与t schedule id 我阅读了可能已经有答案的每个问题 并且所有答案都说明了同样的事情 您的 SQL 查询未成功并且
  • 将订单总重量添加到 WooCommerce 新订单电子邮件通知

    是否可以在 WooCommerce 新订单 电子邮件通知 针对管理员 中显示订单的总重量 这是挂钩在 woocommerce email after order table 操作挂钩中的自定义函数 它将在 新订单 电子邮件通知中显示总重量
  • 为什么呼叫会话不起作用? (代码点火器 3)

    我的配置是这样的 config sess driver database select database driver config sess save path ci sessions name of the mysql table co
  • 获取 png 图像的像素的 alpha 值?

    我正在使用以下代码 img imagecreatefrompng image png col imagecolorat img x y alpha col gt gt 24 0x7F 但 alpha 值始终为 127 即使像素位于 x y
  • 更新 Laravel 路由文件没有效果

    我正在尝试创建一个视图来显示数据库中的数据 但我发现我的路线文件不再执行任何操作 目前我正在尝试让测试功能正常工作 但是当我去 test它只是说 找不到网页 其他路线有效 即使我删除所有内容并保存文件 所有其他路线都可以工作 我努力了art

随机推荐

  • jQuery 中的多个选择器

    我正在尝试运行这段代码 input value OK value Recrutar value Criar id attack name btn click 因此 如您所见 我正在尝试选择一个值等于 OK 或 Recrutar 或 Cria
  • 为什么IntelliJ Idea找不到GO SDK的位置?

    我下载了go1 4 darwin amd64 osx10 8 tar gz https golang org dl 并将其解压到我的本地目录中 基于什么安装到自定义位置 https golang org doc install说我在环境变量
  • jQuery - 专注于 TR

    好的 所以我正在制作一个插件 允许在我的网站中内联编辑表格 到目前为止进展顺利 我已经完成了大部分工作 但我似乎无法正确地将焦点移出表格 因此 如果有人完成编辑并开始编辑新行或只是单击该行之外的内容 则应该保存并恢复正常 但是 如果我在行上
  • Android NumberPicker 隐藏递增和递减按钮

    我正在使用一个数字选择器 http developer android com reference android widget NumberPicker html并且目标是 API 11 及更高版本 3 0 及更高版本 因此我使用受支持的
  • 如何在 R 中加载以 HDF5 文件形式保存在 pandas 中的数据帧?

    我将 pandas 中的数据帧保存在 HDF5 文件中 import numpy as np import pandas as pd np random seed 1 frame pd DataFrame np random randn 4
  • 如何使用 Perl 的 XML::Twig 向子元素添加属性?

    我有一个像这样的 XML 字符串
  • phpstorm symfony2 缺少服务警告

    我已经为 Phpstorm 安装了 Symfony2 插件 但我无法让 IDE 查看这些现有服务或其他注入的对象 能否以某种方式修复这些问题 从而使警告消失 我遇到了类似的问题 建议仔细检查以下内容 正如 Marcel建议的 检查你的Sym
  • AngularJS v1.3 打破翻译过滤器

    在 Angular v1 2 中 我使用以下代码在应用程序中提供本地化字符串 var i18n angular module i18n i18n service i18n function http timeout A dictionary
  • pyplot.subplots:python 和 jupyter 笔记本中的不同行为

    在参加 Kaggle 比赛时 我遇到了一些奇怪的问题 基本上 我正在尝试将 am 图像的矢量表示形式转换为 png 文件 它在 iPython 中完美运行 代码如下 def drawing to np prepare data drawin
  • 为什么 .Net 没有 Thread.Start() 的通用版本?

    我想知道为什么 Net 没有启动线程的通用方法 例如 我们启动一个像下面这样的线程 Thread th new Thread SayHello th Start Hello private static void SayHello obje
  • 具有单一选择的列表框,并且单击时也取消选择...?

    我需要一个在第一次单击时选择并在第二次单击时取消选择的列表框 以便任何时候只选择零个或一个项目 当您按住 crtl 时 选择 取消选择是在列表框中实现的 SelectionMode Single 但不幸的是 我的用户都不知道这一点 使用 S
  • 自定义 Django 管理索引页面以显示模型对象

    在 Django 管理索引页面中 通常会列出应用程序及其模型 模型对象如何也列在该索引页中 我不仅想显示应用程序 还想显示其模型对象 应该如何定制呢 我希望我的网站具有相同的功能 并通过对核心 django 系统进行轻微修改来添加它 Ste
  • appium - 如何获取本机 Android 应用程序中元素的背景颜色

    我正在尝试使用自动化应用程序appium 如何获取 Android 应用程序中元素的背景颜色 我尝试使用 element getCssValue background color 但我面临以下异常 java lang ClassCastEx
  • 数据流图构建

    我被要求编写一个程序 在给定抽象语法树的情况下构建输入程序代码的数据流图 我在网上搜索了数据流图的定义 发现在代码段的数据流分析中发生了很多事情 我想知道我到底需要绘制什么来为给定的代码构建数据流图 很感谢任何形式的帮助 给定 AST 要生
  • char类型可以归类为整数吗?

    刚才我读到 char是Java中唯一的无符号整型原始类型 这是否意味着 char 是 Java 中的整型类型之一 和C一样 最近我读到C类型包括标量类型 函数类型 联合类型 聚合类型 标量类型包括指针类型和算术类型 那么算术类型包括整型和浮
  • 查找特定元素之前和之后的元素

    我有一个列表 其中包含我与选项卡一起使用的链接 它看起来像这样 ul li a href First tab a li li a href Second tab a li li class active a href Active tab
  • google/guava 库出现 Spark 错误:java.lang.NoSuchMethodError: com.google.common.cache.CacheBuilder.refreshAfterWrite

    我有一个简单的spark项目 其中在pom xml依赖只是基本的scala scalatest junit and spark
  • 字符串中的前两个单词 - sql server

    我有这样的字符串 这是一个 hello world 示例 现在我想要该句子的前两个单词作为 SQL Server 中的输出 即这是 另一个例子 原句 完整的单词练习 输出 完整的单词 您可以按如下方式使用查询 DECLARE d nvarc
  • Boyer–Moore 字符串搜索算法的移位规则是什么?

    我一直在尝试理解轮班规则Boyer Moore 字符串搜索算法但还没有理解他们 我读到这里维基百科 http en wikipedia org wiki Boyer E2 80 93Moore string search algorithm
  • 如何在 Eclipse 中使用 PHPdoc

    我们目前正处于一个新项目的开始阶段 希望 这一次 从一开始就尽可能多地发表评论 以帮助未来的发展 我试图找出在 Eclipse 中使用 phpDoc 的最佳实践 但结果非常有限 您能分享一下在 Eclipse 中使用 phpDoc 注释内容