
ReflectionParameter::isPromoted 메소드는 PHP 7.0 이상에서 사용할 수 있는 메소드입니다. 이 메소드는 인자로 전달된 ReflectionParameter 객체가 PHP 7.0 이상에서 사용하는 타입 힌트에 따라 promoted(승격)된 인자인지 여부를 반환합니다.
예를 들어, 아래 코드에서 ReflectionParameter::isPromoted 메소드는 어떻게 동작하는지 살펴보겠습니다.
#hostingforum.kr
php
use ReflectionClass;
use ReflectionParameter;
class Test {
public function testMethod(ReflectionParameter $param) {
var_dump($param->isPromoted());
}
}
$reflectionClass = new ReflectionClass('Test');
$reflectionMethod = $reflectionClass->getMethod('testMethod');
$reflectionParameter = $reflectionMethod->getParameters()[0];
$test = new Test();
$test->testMethod($reflectionParameter);
위 코드에서, $reflectionParameter 객체는 타입 힌트가 ReflectionParameter 인 경우에만 승격된 인자로 간주됩니다. 따라서, 위 코드에서 ReflectionParameter::isPromoted 메소드는 false를 반환합니다.
하지만, 아래 코드에서 타입 힌트가 ReflectionParameter 인 경우에만 승격된 인자로 간주됩니다.
#hostingforum.kr
php
use ReflectionClass;
use ReflectionParameter;
class Test {
public function testMethod(ReflectionParameter $param) {
var_dump($param->isPromoted());
}
}
$reflectionClass = new ReflectionClass('Test');
$reflectionMethod = $reflectionClass->getMethod('testMethod');
$reflectionParameter = $reflectionMethod->getParameters()[0];
$test = new Test();
$reflectionParameter->setType(ReflectionParameter::TYPE_OBJECT);
$test->testMethod($reflectionParameter);
위 코드에서, ReflectionParameter::isPromoted 메소드는 true를 반환합니다.
따라서, ReflectionParameter::isPromoted 메소드는 PHP 7.0 이상에서 사용하는 타입 힌트에 따라 승격된 인자인지 여부를 반환합니다.
2025-03-27 02:49