ReflectionAttribute::newInstance

(PHP 8)

ReflectionAttribute::newInstance实例化此 ReflectionAttribute 类所表示的属性类及其参数

描述

public ReflectionAttribute::newInstance(): object

实例化此 ReflectionAttribute 类所表示的属性类及其参数。

参数

此函数没有参数。

返回值

属性的新实例。

添加注释

用户贡献的注释 2 个注释

baptiste at pillot dot fr
1 年前
使用没有对应类的属性名称调用 ReflectionAttribute::newInstance() 会导致错误。

示例

<?php
#[FakeAttribute]
class
Test {}

try {
(new
ReflectionClass(Test::class))->getAttributes()[0]->newInstance();
}
catch (
Error $error) {
echo
'Throwed error ' . get_class($error) . ' with message : ' . $error->getMessage();
}
?>

这将输出

Throwed error Error with message : Attribute class "FakeAttribute" not found
baptiste at pillot dot fr
1 年前
使用具有匹配类的属性名称调用 ReflectionAttribute::newInstance(),但没有 #[Attribute] 会导致错误。

示例

<?php
class FakeAttribute {}

#[
FakeAttribute]
class
Test {}

try {
(new
ReflectionClass(Test::class))->getAttributes()[0]->newInstance();
}
catch (
Error $error) {
echo
'Throwed error ' . get_class($error) . ' with message : ' . $error->getMessage();
}
?>

这将输出

Throwed error Error with message : Attempting to use non-attribute class "FakeAttribute" as attribute
To Top