함수
PHP Manual

가변 함수

PHP는 가변 함수에 대한 개념을 지원한다. 이 용어의 의미는 어떤 변수 뒤에 괄호가 따라온다면, PHP는 그 변수의 값을 갖는 함수를 찾아서 실행하려 할것이란 것이다. 이런 개념은 이기능 외에도 콜백과 함수 테이블 등등을 구현할수 있게 해준다.

가변 함수는 echo(), print(), unset(), isset(), empty(), include(), require()와 같은 언어 구조와 함께 작동하지 않을것이다. 래퍼 함수를 사용해서 이러한 구조를 가변 함수로 이용할 수 있습니다.

Example #1 가변 변수 사용예

<?php
function foo() {
    echo 
"foo() 안입니다.<br />\n";
}

function 
bar($arg '')
{
    echo 
"bar() 안입니다; 인수는 '$arg'입니다.<br />\n";
}

// echo를 감싸는 래퍼 함수입니다.
function echoit($string)
{
    echo 
$string;
}

$func 'foo';
$func();        // foo()를 호출합니다.

$func 'bar';
$func('test');  // bar()를 호출합니다.

$func 'echoit';
$func('test');  // echoit()을 호출합니다.
?>

객체 메쏘드도 가변 함수 구문으로 호출할 수 있습니다.

Example #2 가변 메쏘드 사용예

<?php
class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // Bar() 메쏘드를 호출합니다.
    
}
    
    function 
Bar()
    {
        echo 
"This is Bar";
    }
}

$foo = new Foo();
$funcname "Variable";
$foo->$funcname();  // $foo->Var()를 호출합니다.

?>

call_user_func(), variable variables, function_exists()섹션을 참고


함수
PHP Manual