@internal 的实际含义是什么以及如何使用它?

What does @internal actually mean and how to use it?

@internal 标签在 PHPDocs 中使用时是什么意思,它是如何工作的?我已阅读此标签的 the documentation 并获得此定义。

The @internal tag is used to denote that associated Structural Elements are elements internal to this application or library. It may also be used inside a long description to insert a piece of text that is only applicable for the developers of this software.

我明白了它的要点,但我不明白的是我将如何在项目中实际使用它?我读过这个例子,我的理解是标记为 @internal 的函数意味着它是作为软件的一部分使用的,而不是被外部的东西使用的。例如,在 PHP 库中,如果一个函数被标记为 @internal,则它不是库提供的 public API 的一部分。

我的问题:

对某些人来说可能是微不足道的,但值得一提的是,尽可能将函数声明为私有可能比使用 @internal.

更好

并不是说此标签没有有效用途,但如果您觉得需要使用它,检查您的设计始终是一个不错的选择。

这是 PhpStorm bug。它不应攻击 library/package 内部使用的 @internal 方法。

所以是的,您对 @internal 标记含义的理解是正确的 - 它用于标记 public/protected 方法,而不是 public API 的一部分。您应该忽略这些在库内部使用的警告。

从技术上讲,即使对于 3rd 方库,也没有什么可以阻止您使用此类方法,但您应该意识到后果 - 它们没有向后兼容性承诺,因此它们可以更改、重命名或完全消失没有任何警告。

我认为这是程序员对某些特定用法的评论。 我标记我的建议,在哪些情况下使用此功能或替代功能(例如 'use this func in CLI mode only' 或 'use this function only if you need row data. Pls consider wrapper in all other cases')

https://docs.phpdoc.org/latest/guide/references/phpdoc/tags/internal.html

@内部 @internal 标签用于表示关联的结构元素是此应用程序或库的内部元素。它也可以用于在长描述中插入一段 仅适用于该软件开发人员的文本。