前後の処理の間に callback関数を注入
<?
/**
* pre_action() と post_action() の間に callback_function を注入
*
* @param mixed $callback コールバック関数
* @param array $params コールバック関数のパラメータ
* @return mixed コールバック関数の戻り値
*/
private function inject_callback($callback_function, $params = array())
{
$var = pre_action();
$result = call_user_func_array(
$callback_function,
array_unshift(
is_array($params) ? $params : array($params),
$var
)
);
return post_action($result);
}