Attributes即注解,它提供了一种向类添加元数据的方法,无需解析文档块。
符号为#[],使用格式如下:
#[param('value1','value2')]
Attributes可定义多个,也可写成数组形式:
#[
param('value1','value2'),
param2('value3','value4'),
]
上述两种形式还可以混合使用。
下面通过案例来学习Attributes的使用方法,代码如下:
<?php
#[Name1("苹果")]
#[Goods1("name1", "price1")]
#[
Params2("name2", "price2"),
Name2("香蕉")
]
function newAttributes($arg = ''){}
$obj = new ReflectionFunction('newAttributes');
$attributes = $obj->getAttributes();
echo'<pre>';
echo($attributes[1]->getName().'<br>');
print_r($attributes[2]->getArguments());
?>
上述代码的输出内容如下:
Goods1
Array
(
[0] => name2
[1] => price2
)