라이브러리

[PHP] ReflectionFunctionAbstract::isUserDefined - 사용자가 정의했는지 확인합니다.




ReflectionFunctionAbstract::isUserDefined

PHP ReflectionClass와 ReflectionFunctionAbstract는 PHP의 내장 클래스입니다. ReflectionClass는 클래스의 정보를 가져올 수 있게 해주고, ReflectionFunctionAbstract는 함수의 정보를 가져올 수 있게 해줍니다.

ReflectionFunctionAbstract::isUserDefined 메소드는 함수가 사용자 정의 함수인지 아닌지를 체크합니다. 사용자 정의 함수란 PHP에서 직접 정의한 함수를 의미합니다. PHP의 내장 함수나 클래스 메소드는 사용자 정의 함수가 아닙니다.

예제

#hostingforum.kr
php

function testFunction() {

    echo "테스트 함수입니다.";

}



$reflectionFunction = new ReflectionFunction('testFunction');

echo $reflectionFunction->isUserDefined() ? '사용자 정의 함수입니다.' : '내장 함수입니다.';



위 예제에서 `testFunction`은 사용자 정의 함수입니다. 따라서 `isUserDefined` 메소드는 `true`를 반환합니다.

#hostingforum.kr
php

echo strlen('Hello, World!'); // strlen은 내장 함수입니다.

$reflectionFunction = new ReflectionFunction('strlen');

echo $reflectionFunction->isUserDefined() ? '사용자 정의 함수입니다.' : '내장 함수입니다.';



위 예제에서 `strlen`은 내장 함수입니다. 따라서 `isUserDefined` 메소드는 `false`를 반환합니다.

사용 예시

사용자 정의 함수인지 아닌지를 체크할 때 사용할 수 있습니다. 예를 들어, 사용자 정의 함수에만 특정 작업을 수행하고 싶을 때 사용할 수 있습니다.

#hostingforum.kr
php

function testFunction() {

    echo "테스트 함수입니다.";

}



function 내장함수() {

    echo "내장 함수입니다.";

}



function 사용자정의함수($func) {

    if ($func instanceof ReflectionFunction && $func->isUserDefined()) {

        echo "사용자 정의 함수입니다.";

    } else {

        echo "내장 함수입니다.";

    }

}



$reflectionFunction = new ReflectionFunction('testFunction');

사용자정의함수($reflectionFunction);



$reflectionFunction = new ReflectionFunction('내장함수');

사용자정의함수($reflectionFunction);



위 예제에서 `사용자정의함수` 함수는 사용자 정의 함수인지 아닌지를 체크하고, 사용자 정의 함수일 때만 특정 작업을 수행합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 281 페이지

검색

게시물 검색