[PHP] 함수 Function

Seo Joonsoo·2022년 6월 19일
0

php

목록 보기
5/23

일반적인 언어에서는 아래와 같이 오버로딩하여 사용할 수 있지만 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);

result :
이름: 손오공 / 나이: 17

function_existis('함수명');

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

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

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


Function Handling

  • call_user_func_array — Call a callback with an array of parameters
  • call_user_func — Call the callback given by the first parameter
  • create_function — Create an anonymous (lambda-style) function
  • forward_static_call_array — Call a static method and pass the arguments as array
  • forward_static_call — Call a static method
  • func_get_arg — Return an item from the argument list
  • func_get_args — Returns an array comprising a function's argument list
  • func_num_args — Returns the number of arguments passed to the function
  • function_exists — Return true if the given function has been defined
  • get_defined_functions — Returns an array of all defined functions
  • register_shutdown_function — Register a function for execution on shutdown
  • register_tick_function — Register a function for execution on each tick
  • unregister_tick_function — De-register a function for execution on each tick
    http://docs.php.net/manual/en/ref.funchand.php
profile
여러분들 삶에 한 획을 더하고 싶습니다.

0개의 댓글