重载PHP函数以首先执行操作

时间:2011-10-24 00:05:17

标签: php codeigniter overloading

我想知道如何在php中重载标准函数。具体来说,我正在尝试对某些功能进行安全检查。因此,我想将write重新定义为:

function fwrite($handle, $string, $length = null) {
  if (doMyChecks()) {
    original_fWrite($handle, $string, $length);
  } else {
    recordViolation();
  }
}

我正在使用CodeIgniter,因此我将此代码放在index.php中,以使其适用于通过框架调用的所有页面。

1 个答案:

答案 0 :(得分:6)

您似乎可以使用PHP函数override_function()。来自PHP.net site

override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');