2011-10-24 22 views
2

PHPで標準関数をどのようにオーバーロードすることができるのだろうかと思っていました。具体的には、特定の機能に関するセキュリティチェックを実装しようとしています。私はCodeIgniterのを使用していますので、私はフレームワークを介し呼ばれる全てのページに対して、それが適用可能にするためにindex.phpにこのコードを入れてしまうでしょうPHP関数をオーバーロードしてアクションを最初に実行する

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

:そのように、私はと書き込みを再定義したいと思います。

答えて

6

PHP関数override_function()を使用すると思われます。 PHP.net siteから:

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

ありがとう、私が探していたものです。ページの一番下には、元の関数を呼び出す方法も示されているので、私は行くのがいいと思われます。 – Mala

+0

あなたは大歓迎です。 –

+0

+1 - 良い答え。 –

関連する問題