라이브러리
[PHP] ReflectionAttribute::__construct - 직접 인스턴스화를 허용하지 않는 개인 생성자
ReflectionAttribute::__construct
PHP 8.1 버전부터 ReflectionAttribute 클래스가 추가되었습니다. 이 클래스는 PHP의 Reflection API를 통해 클래스, 메소드, 속성에 대한 정보를 얻을 수 있게 해줍니다.
ReflectionAttribute::__construct 메소드는 ReflectionAttribute 클래스의 생성자 메소드입니다. 이 메소드는 클래스, 메소드, 속성에 대한 정보를 얻을 때 사용됩니다.
예제
#hostingforum.kr
php
use ReflectionClass;
use ReflectionMethod;
use ReflectionAttribute;
class MyClass {
#[MyAttribute]
public function myMethod() {
echo "Hello, World!";
}
}
class MyAttribute extends Attribute {
public function __construct() {
echo "MyAttribute 생성자 호출됨
";
}
}
$reflectionClass = new ReflectionClass(MyClass::class);
$reflectionMethod = $reflectionClass->getMethod('myMethod');
$reflectionAttribute = $reflectionMethod->getAttributes()[0];
echo $reflectionAttribute->getName() . "
"; // MyAttribute
echo $reflectionAttribute->getArguments() . "
"; // Array ( [0] => )
// ReflectionAttribute::__construct 호출
$reflectionAttribute->getArguments()[0] = new MyAttribute();
echo $reflectionAttribute->getArguments() . "
"; // Array ( [0] => MyAttribute Object ( ) )
설명
* ReflectionClass::getMethod 메소드를 사용하여 MyClass 클래스의 myMethod 메소드에 대한 ReflectionMethod 객체를 얻습니다.
* ReflectionMethod::getAttributes 메소드를 사용하여 myMethod 메소드에 대한 ReflectionAttribute 객체를 얻습니다.
* ReflectionAttribute::getName 메소드를 사용하여 ReflectionAttribute 객체의 이름을 얻습니다.
* ReflectionAttribute::getArguments 메소드를 사용하여 ReflectionAttribute 객체의 인수를 얻습니다.
* ReflectionAttribute::__construct 메소드를 호출하여 ReflectionAttribute 객체의 인수를 설정합니다.
참고
* ReflectionAttribute 클래스는 PHP 8.1 버전부터 사용할 수 있습니다.
* ReflectionAttribute 클래스는 클래스, 메소드, 속성에 대한 정보를 얻을 때 사용됩니다.
* ReflectionAttribute::__construct 메소드는 ReflectionAttribute 클래스의 생성자 메소드입니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.