问题标签 [docblocks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
77 浏览

php - 如何在 PHP 文档块中使用 $this 引用

我有一个使用 MVC 的项目,其中视图文件正在继承$this,它指的是附加到控制器的视图类。

一些视图中附加了辅助类,使用如下:

我希望通过这样做来帮助开发人员和 IDE:

貌似不支持。有没有办法做到这一点?

我目前只能找到一种解决方法,将帮助程序声明为新变量并为此包含 @var 语句。

0 投票
1 回答
857 浏览

php - 如何在 PHP 7.4 中使用 DocBlocks?

一般来说,在 PHP 中使用 DocBlock 是最佳实践之一。它对于以前版本的 PHP(低于 PHP 7.3 或特别是 7.4)非常有用。它通知开发人员类属性类型、期望的参数类型和方法返回的值(以防 PHP 中缺乏严格的类型)。

假设在 PHP 5.6 中,代码可能如下所示:

但是在这种情况下,当我们使用 PHP 7.4 时,这些 DocBlocks 不提供任何附加信息:

Robert C. Martin 在 Clean code 中写道,对所有方法/变量等使用 JavaDoc(sic!) 是不好的做法,并且会降低代码的可读性。另外,他说有可能,注释(DocBlock)不反映指定元素的当前状态(例如,在 DocBlock 中我们有 int,但变量已更改为字符串)

正如我所检查的,PSR 标准主要只说明了如何使用 DocBlock 以及它们应该是什么样子,而不是什么时候应该使用它们。

你怎么看待这件事?我们应该始终对代码中的所有元素使用 DocBlock 还是仅在特定情况下使用 DocBlock?您在这两种情况下都看到了哪些优点和缺点?

0 投票
1 回答
64 浏览

silverstripe - 在 Php 中,如何使用内联类型提示设置变量的返回类型

我怎样才能避免这个“错误”:

显示错误

基本上 docblocks forDataObject::get_one说它返回 a DataObject,这是真的,但大多数时候它是一个扩展 DataObject 的类 - 例如class HealthCheck extends DataObject在这种情况下。

如果我写:

然后 scrutiziner 不会给我一个错误,但我确实想要 / 并且不能这样写。

0 投票
1 回答
109 浏览

php - 引发异常的 PhpStorm 检查错误

我正在尝试捕获自定义异常,但Exception 'CustomException' is never thrown in the corresponding try block在以下情况下不断收到检查错误:

上面的示例完全按预期工作,除了 PhpStorm 给我检查错误。

我到处搜索,无法找到如何在不完全禁用检查的情况下解决此问题。任何帮助将不胜感激!

截图2

截屏

0 投票
2 回答
98 浏览

typescript - 如何维护别名属性的 DocBlock 注释?

我有一个来自第 3 方库 (A) 的接口。我正在为我的项目bar中的属性创建别名。foo这很好用,但我也希望我的别名继承属性的 DocBlock 注释。

在 Codesandbox 中,您可以使用CTRL+Hoverxonfoobar. foo会有意见,bar不要。我还想bar显示相同的 DocBlock 评论。

https://codesandbox.io/s/lucid-architecture-6ppe6?file=/src/index.ts

0 投票
2 回答
134 浏览

php - json_decode-d 对象的 PHP 文档块

我在我的 PHP 代码中从 JSON 字符串中获取对象。我希望我的 IDE (NetBeans) 知道对象的参数而不为它们创建特殊的类。

我可以做吗?

它看起来像:

0 投票
1 回答
135 浏览

php - PHP docblock中类型提示的花括号和尖括号有什么区别?

我看到在类型提示数组时使用的 PHP 文档块中使用了尖括号和花括号。

或者

我试图在 de docblock 文档中的 docblocks 中找到有关类型提示的内容,但找不到任何东西。

谁能帮我解决这个问题。

0 投票
1 回答
265 浏览

php - 如何让 PHP getter/setter 从他们的领域继承 DocBlock?

如何使 getter/setter 方法自动使用各自字段中的 DocBlock 描述?或者也许有任何其他方法可以解决这个问题:请参阅 getter/setter 上的 DocBlocks,而无需手动复制粘贴每一个。

考虑这个例子:
在此处输入图像描述

关于字段 (1) 有一些评论$name,但是,它几乎永远不会被视为该字段是私有的并且旨在与 getter/setter 方法一起使用。但是,在这些方法上,IDE 不会显示来自字段变量的任何注释 (2)。

当然,您可以简单地将相同的描述复制粘贴到这两种方法中。但是当对象有十几个或更多属性时,管理变得非常困难,所有属性都带有 getter/setter 并被广泛评论。每次更改都需要大量手动工作来修复 3 个位置的相同文本,并且非常容易出错。

IDE 是 PhpStorm。
我宁愿不用魔法__get __set方法来做。

0 投票
0 回答
17 浏览

phpstorm - PhpStorm 更改特定的重新格式化代码选项

当我使用 PhpStorm 的代码格式时,上面的代码变为:

有没有办法让这些@var评论保持在原来的同一行?

0 投票
0 回答
102 浏览

php - phpDocumentor 在我的代码中找不到 TODO 标记?

当我使用phpDocumentor生成 API 文档时,页面Reports -> Markers总是说No marker has found in this project尽管我的 PHP 代码中有几个TODO标记。

我有 phpDocumentor v3.0.0。我运行它:php phpDocumentor.phar --markers

我的phpdoc.dist.xml文件包含:

我在我的 PHP 代码中使用 TODO 标记,如下所示: