The @property-write tag allows a class to know which ‘magic’ properties are present that are write-only.
The @property-write tag is used in the situation where a class contains the __set() magic method and allows for specific names that are not covered in a __get() magic method.
An example of this is a child class whose parent has a __set(). The child knows which properties need to be present but relies on the parent class to use the __set() method to provide it. In this situation, the child class would have a @property-write tag for each magic property.
@property-write tags MUST NOT be used in a PHPDoc that is not associated with a class or interface.
Structural Elements of type class or interface tagged with the @property-write tag will show an extra property in their property listing matching the data provided with this tag.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class Parent
{
public function __set()
{
<...>
}
}
/**
* @property-write string $myProperty
*/
class Child extends Parent
{
<...>
}
|