2016-01-06 113 views
0

我看到了魔术属性的两种不同的实现。PHPDOCS中`@ property`和`@ property-read`有什么区别?

<?php 

/** 
* @property string first_name 
* @property-read string last_name 
*/ 
class Demo 
{ 
    // Code... 
} 

是什么@property@property-read命名惯例之间的区别?

+0

[@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

回答

2

的phpDocumentor的文档解释了这个漂亮的清楚:

http://www.phpdoc.org/docs/latest/references/phpdoc/tags/property-read.html

两个@property和@财产阅读(@财产写入为此事)是用于记录魔法属性可访问通过魔术方法__get()和/或__set()

区别在于@ property-read将magic属性定义为只读。

+0

因此,我们的IDE应该给我们一个错误,试图设置一个魔术属性,用'@ property-read'权限定义? –

+1

猜猜这取决于你的IDE有多聪明。但这就是标签的预期目的,是的。 – jszobody