我看到了魔术属性的两种不同的实现。PHPDOCS中`@ property`和`@ property-read`有什么区别?
<?php
/**
* @property string first_name
* @property-read string last_name
*/
class Demo
{
// Code...
}
是什么@property
和@property-read
命名惯例之间的区别?
我看到了魔术属性的两种不同的实现。PHPDOCS中`@ property`和`@ property-read`有什么区别?
<?php
/**
* @property string first_name
* @property-read string last_name
*/
class Demo
{
// Code...
}
是什么@property
和@property-read
命名惯例之间的区别?
的phpDocumentor的文档解释了这个漂亮的清楚:
http://www.phpdoc.org/docs/latest/references/phpdoc/tags/property-read.html
两个@property和@财产阅读(@财产写入为此事)是用于记录魔法属性可访问通过魔术方法__get()
和/或__set()
。
区别在于@ property-read将magic属性定义为只读。
因此,我们的IDE应该给我们一个错误,试图设置一个魔术属性,用'@ property-read'权限定义? –
猜猜这取决于你的IDE有多聪明。但这就是标签的预期目的,是的。 – jszobody
[@property](http://www.phpdoc.org/docs/latest/references/phpdoc/tags/property.html)和[@ property-read](http://www.phpdoc.org/) docs/latest/references/phpdoc/tags/property-read.html) – RiggsFolly