Press "Enter" to skip to content

[태그:] 콜백함수

PHP에서 콜백함수 사용하기

간단하게 호출하기

<?php
function cbExclaim($str) 
{
  return print($str."!\n");
}

function cbAsk($str) 
{
  return print($str."?\n");
}

function callCallback($str, $cbFunc) 
{
  // $cbFunc로 콜백 함수 호출
  $cbFunc($str);
}

// $cbFunc 파라미터에 "cbExclaim", "cbAsk" 입력하여 콜백함수 호출
callCallback("안녕", "cbExclaim");
callCallback("안녕", "cbAsk");
?>

출력

안녕!
안녕?

인스턴스의 함수를 파라미터와 함께 호출하기

<?php
    // $obj는 클래스의 인스턴스. function_name 이라는 함수를 가지고 있다.
    $cbfunc = array(&$obj, "function_name");
    $param = array("param1", "param2", true);

    // $obj->function_name 함수를 
    // 파라미터 3개("param1", "param2", true)를 대입하여 호출한다.
    $rtn = call_user_func_array($cbfunc, $param);
?>