티스토리 뷰

오늘도 개발자/PHP

[PHP] 함수 Function

오늘도공대생 2022. 1. 27. 03:11

일반적인 언어에서는 아래와 같이 오버로딩하여 사용할 수 있지만 PHP에서는 같은 함수 이렇게 정의하면 에러가 난다.

function per(string $name) {}
function per(string $name, int $age) {}
function per(string $name) {}
function per(string $name, int $age) {}

그래서 필요한것이 바로 Function Handling이다. 

function per() {
    $argCount = func_num_args();
    switch ($argCount) {
        case 1:
            echo '이름: ' . func_get_arg(0);
            break;
        case 2:
            echo '이름: ' . func_get_arg(0) . ' / 나이: '. func_get_arg(1);
            break;
        default:
            echo '총원 : 92명';
    }
}

// per();
// per('손오공');
per('손오공',17);
이름: 손오공 / 나이: 17

 

function_existis('함수명');

입력된 함수가 사용되고 있는지 확인할 수 있다. 

특히 CMS(wordpress...)등에서 플러그인과 테마 제작시 다양한 플러그인들로 인해 함수명이 겹칠 수 있으므로 함수명과 클레스명에 대한 체크는 필수적이다.

전체 함수를 보려면 get_defined_functions() 함수를 통해 확인할 수 있다.

 

 

 


Function Handling

댓글