티스토리 뷰

배움/PHP

call_user_func

spaces25 2025. 7. 14. 09:44
반응형

call_user_func() 함수는 PHP에서 콜백(callback) 함수를 호출할 때 사용하는 함수. 동적으로 함수를 실행해야 할 때 유용합니다.

 

🔹 기본 문법

mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )
  • $callback: 호출할 함수의 이름, 또는 메서드 (문자열이나 배열로 표현)
  • $parameter: 함수에 전달할 인자들

✅ 사용 예제

1. 일반 함수 호출

function sayHello($name) {
    return "Hello, $name!";
}

echo call_user_func('sayHello', 'Alice');
// 출력: Hello, Alice!

2. 익명 함수 호출

$greet = function($name) {
    return "Hi, $name!";
};

echo call_user_func($greet, 'Bob');
// 출력: Hi, Bob!

3. 클래스의 static 메서드 호출

class MyClass {
    public static function welcome($name) {
        return "Welcome, $name!";
    }
}

echo call_user_func(['MyClass', 'welcome'], 'Charlie');
// 출력: Welcome, Charlie!

4. 객체의 메서드 호출

class Person {
    public function say($word) {
        return "You said: $word";
    }
}

$p = new Person();
echo call_user_func([$p, 'say'], 'PHP is fun');
// 출력: You said: PHP is fun

🔸 주의사항

  • 함수명이 문자열로 주어질 때, 함수가 정의되어 있어야 합니다.
  • PHP 5.3 이상에서는 call_user_func() 대신 call_user_func_array()나 Closure를 활용하는 것도 좋습니다.
  • 너무 많이 사용하면 성능 이슈가 있을 수 있으므로 동적 호출이 꼭 필요할 때만 사용하세요.
반응형

'배움 > PHP' 카테고리의 다른 글

uniqid()  (0) 2025.07.16
curl_multi_init  (0) 2025.07.15
array_combine 함?  (1) 2025.07.11
ReflectionClass ?  (0) 2025.07.04
ob_get_contents  (0) 2025.07.03
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함