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

Mal*_*ala 2 php overloading codeigniter

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

function fwrite($handle, $string, $length = null) {
  if (doMyChecks()) {
    original_fWrite($handle, $string, $length);
  } else {
    recordViolation();
  }
}
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*ner 6

看来你可以使用PHP函数override_function().来自PHP.net网站:

override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');
Run Code Online (Sandbox Code Playgroud)

  • @Mala看起来你需要`PECL apd> = 0.2` http://pecl.php.net/package/apd (2认同)