【问题标题】:overloading PHP functions to perform an action first重载 PHP 函数以首先执行操作
【发布时间】:2011-10-24 00:05:17
【问题描述】:

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

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

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

【问题讨论】:

    标签: php codeigniter overloading


    【解决方案1】:

    看来你可以使用PHP函数override_function()。来自PHP.net site

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

    【讨论】:

    • 谢谢,这正是我想要的。在页面底部它还显示了如何调用原始函数,所以看起来我很高兴:)
    • 这在标准 PHP 中有效吗?出于某种原因,我收到“调用未定义函数 override_function()”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 2012-06-06
    • 1970-01-01
    相关资源
    最近更新 更多