라이브러리

[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 메소드를 사용하여 파라미터의 타입을 확인하고, 그에 따라 메시지를 출력합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 210 페이지

검색

게시물 검색