mugyu
4/18/2014 - 10:27 AM

前後の処理の間に callback関数を注入

前後の処理の間に 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);		
}