3.5PHP语言的注解(Attribute)

注解声明

注解声明总是以 #[ 开头,以 ] 结尾来包围,方括号内部则是一个或以逗号包含的多个注解。

注解的本质是类。

<?php
// a.php
namespace MyExample;

use Attribute;

#[Attribute]
class MyAttribute
{
    const VALUE = 'value';

    private $value;

    public function __construct($value = null)
    {
        $this->value = $value;
    }
}

调用注解

注解的参数是非必须的。如果有参数,则以常见的括号()包围。注解的参数可以是字面值或者常量表达式。它同时接受位置参数和命名参数两种语法。

<?php
// b.php

namespace Another;

use MyExample\MyAttribute;

#[MyAttribute]
#[\MyExample\MyAttribute]
#[MyAttribute(1234)]
#[MyAttribute(value: 1234)]
#[MyAttribute(MyAttribute::VALUE)]
#[MyAttribute(array("key" => "value"))]
#[MyAttribute(100 + 200)]
class Thing
{
}

#[MyAttribute(1234), MyAttribute(5678)]
class AnotherThing
{
}

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/php/phplang/9277.html

(0)
上一篇 2021年3月5日 01:00
下一篇 2021年3月5日 22:21

相关推荐

发表评论

登录后才能评论