当前位置:  首页>> 技术小册>> PHP8入门与项目实战(4)

Attributes即注解,它提供了一种向类添加元数据的方法,无需解析文档块。

符号为#[],使用格式如下:

  1. #[param('value1','value2')]

Attributes可定义多个,也可写成数组形式:

  1. #[
  2. param('value1','value2'),
  3. param2('value3','value4'),
  4. ]

上述两种形式还可以混合使用。

下面通过案例来学习Attributes的使用方法,代码如下:

  1. <?php
  2. #[Name1("苹果")]
  3. #[Goods1("name1", "price1")]
  4. #[
  5. Params2("name2", "price2"),
  6. Name2("香蕉")
  7. ]
  8. function newAttributes($arg = ''){}
  9. $obj = new ReflectionFunction('newAttributes');
  10. $attributes = $obj->getAttributes();
  11. echo'<pre>';
  12. echo($attributes[1]->getName().'<br>');
  13. print_r($attributes[2]->getArguments());
  14. ?>

上述代码的输出内容如下:

  1. Goods1
  2. Array
  3. (
  4. [0] => name2
  5. [1] => price2
  6. )