重载PHP函数以首先执行操作
我想知道如何在php中重载一个标准函数。具体来说,我正在尝试对某些函数实施安全检查。因此,我想将write重新定义为:重载PHP函数以首先执行操作,php,codeigniter,overloading,Php,Codeigniter,Overloading,我想知道如何在php中重载一个标准函数。具体来说,我正在尝试对某些函数实施安全检查。因此,我想将write重新定义为: function fwrite($handle, $string, $length = null) { if (doMyChecks()) { original_fWrite($handle, $string, $length); } else { recordViolation(); } } 我使用的是CodeIgniter,所以我将把这段代码放
function fwrite($handle, $string, $length = null) {
if (doMyChecks()) {
original_fWrite($handle, $string, $length);
} else {
recordViolation();
}
}
我使用的是CodeIgniter,所以我将把这段代码放在
index.php
中,使其适用于通过框架调用的所有页面。似乎可以使用php函数覆盖函数()。从:
谢谢,这正是我想要的。在页面底部,它还显示了如何调用原始函数,因此看起来我很好:)这在标准PHP中可以工作吗?出于某种原因,我得到了“调用未定义函数覆盖函数()
override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');