라이브러리
[PHP] ReflectionParameter::hasType - 매개변수에 유형이 있는지 확인합니다.
ReflectionParameter::hasType
PHP의 ReflectionParameter 클래스는 PHP의 함수, 메소드, 클래스의 정보를 분석하는 데 사용되는 클래스입니다. ReflectionParameter::hasType 메소드는 파라미터가 지정된 타입을 가지고 있는지 여부를 확인하는 메소드입니다.
# 사용법
ReflectionParameter::hasType 메소드는 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$reflectionMethod = new ReflectionMethod('클래스명', '메소드명');
$reflectionParameter = $reflectionMethod->getParameters()[0];
$reflectionParameter->hasType('타입');
# 예제
#hostingforum.kr
php
class Test {
public function testMethod(int $param1, string $param2) {}
}
$reflectionClass = new ReflectionClass('Test');
$reflectionMethod = $reflectionClass->getMethod('testMethod');
$reflectionParameter1 = $reflectionMethod->getParameters()[0];
$reflectionParameter2 = $reflectionMethod->getParameters()[1];
echo $reflectionParameter1->hasType('int') ? 'true' : 'false'; // true
echo "
";
echo $reflectionParameter2->hasType('string') ? 'true' : 'false'; // true
echo "
";
echo $reflectionParameter1->hasType('string') ? 'true' : 'false'; // false
# 결과
#hostingforum.kr
php
true
true
false
# 참고
* ReflectionParameter 클래스는 PHP 5.1.0 부터 사용할 수 있습니다.
* ReflectionParameter::hasType 메소드는 PHP 7.0.0 부터 사용할 수 있습니다.
ReflectionParameter::hasType의 사용 예시
#hostingforum.kr
php
class Test {
public function testMethod(int $param1, string $param2) {}
}
$reflectionClass = new ReflectionClass('Test');
$reflectionMethod = $reflectionClass->getMethod('testMethod');
$reflectionParameter1 = $reflectionMethod->getParameters()[0];
$reflectionParameter2 = $reflectionMethod->getParameters()[1];
if ($reflectionParameter1->hasType('int')) {
echo 'param1은 int 타입입니다.';
} else {
echo 'param1은 int 타입이 아닙니다.';
}
echo "
";
if ($reflectionParameter2->hasType('string')) {
echo 'param2은 string 타입입니다.';
} else {
echo 'param2은 string 타입이 아닙니다.';
}
# 결과
#hostingforum.kr
php
param1은 int 타입입니다.
param2은 string 타입입니다.
이 예제에서는 ReflectionParameter::hasType 메소드를 사용하여 파라미터의 타입을 확인하고, 그에 따라 메시지를 출력합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.