如何解释PHPDoc的“@属性读取”和“@属性写入”属性?

fzsnzjdm  于 2023-03-11  发布在  PHP
关注(0)|答案(3)|浏览(111)

给定phpDoc manual,我找不到有关此问题的解释

  • @property-read
  • @property-write

但仅为@property
他们是干什么的?

gopyfrb3

gopyfrb31#

Here's a good explanation的魔术属性。
基本上,@property-write被解释为一个只写属性,就像它的名字所暗示的那样。例如,Eclipse中的代码完成就利用了这一点。如果你的魔术属性foo被声明为“只写”,那么当你输入$a = $this->f时,它就不会出现在代码完成中。

1l5u6lss

1l5u6lss2#

@property标签在phpDocumentor手册中有详细说明,这个标签只在类docblock中使用,用来记录一个“魔术”属性/变量,即代码中没有定义的属性/变量,因此不能被“docblock 'd”。
现在,当你想强调一个特定的“魔法变量”是只读的(不可写的),你可以使用@property-read。如果你有一个“魔法变量”是只读的(不可读的),你可以使用@property-write。当然,我很难想象只读变量是不可读的,但是因为技术上可以做到这一点,所以@property-write可以为你提供文档。
@property的这两个“子标记”将在上面链接到的@property页中进一步解释。

yhxst69z

yhxst69z3#

@property-read通知IDE一个magicGet only字段。
@property-write通知IDE存在一个magicSet only字段。
PHP 8.1增加了readonly关键字,基本上禁止将变量设置为其他值(初始值除外)。

相关问题