あえて周りから。
<?php rename_function('strlen', 'new_strlen'); override_function('strlen', '$string', 'return override_strlen($string);'); function override_strlen($string){ return new_strlen($string); }
rename_function
(PECL apd:0.2-1.0.1)
rename_function ― グローバルの関数テーブルで関数名を変更する
override_function
(PECL apd:0.2-1.0.1)
override_function ― 組み込みの関数を上書きする
一応、擁護。
これらの関数の哲学は
Advanced PHP Debugger (APD)
導入APD は進化した PHP デバッガです。PHP コードのプロファイリングや デバッグの機能を提供すること、また完全なスタックトレースを出力する 機能を提供することを目的として作成されています。
ここに集約されます。
哲学を「正しく理解して」用いるんなら、多分色々と便利です。
でも…もし「できると適切の間にある深い溝」を理解しない人がつかうと…すごいことがおきます。
…一瞬、直接override_functionだけ見たときは「…狂った?」とか思いましたともさ(誰とか何とかってのはあえて語らず)。
プロの包丁は毎日砥ぐものですが、よく砥いだ包丁って凶悪な凶器になるんですよねぇ。