如何解释`@property-read`和`@property-write`的PHPDoc属性?

问题描述 投票:0回答:3

鉴于phpDoc手册,我找不到关于那个的解释

  • @property-read
  • @property-write

但只有

@property
.

他们做什么?

php phpdoc
3个回答
5
投票

这里有一个关于魔法属性的很好的解释

基本上,

@property-write
被解释为 - 顾名思义 - 为只写属性。例如,Eclipse 中的代码完成就利用了它。如果您的魔法属性
foo
被声明为“只写”,当您键入
$a = $this->f
.

时,它不会出现在代码完成中

5
投票

@property 标签是 phpDocumentor 手册中记录的内容。此标记仅在类文档块中用于记录“魔术”属性/变量,即代码中未定义的属性/变量,因此不能“文档块”。

现在,当你想强调一个特定的“魔法变量”是只读的(不可写的)时,你可以使用@property-read。如果你有一个只写(不可读)的“魔法变量”,你会使用@property-write。诚然,我很难想象无法读取的只写变量,但由于技术上可以做到这一点,@property-write 可用于记录它。

@property 的这两个“子标签”在您上面链接到的@property 页面上有进一步的解释。


0
投票

@property-read
告诉 IDE 一个神奇的 Get-only 字段。

@property-write
告诉 IDE 存在一个神奇的 Set-only 字段。

PHP 8.1 添加了

readonly
关键字, 这基本上禁止将变量设置为另一个值(初始值除外)。

© www.soinside.com 2019 - 2024. All rights reserved.