[PHP-users 31597] Re: 関数の多重定義を行っても実行可能にする方法
小野浩一郎
k-ono @ mica.co.jp
2007年 2月 28日 (水) 20:05:35 JST
申し訳ないです。
単に読んでいただけなのに、操作ミスで間違って引用のみの
返信をしてしまいました。
これだけではなんですので...。
PHPのバグの可能性の話も出ているようですが、単に片方の
関数定義がパース対象になっていないだけってことはありま
せんか?
PHPの場合、同名関数がコード上に複数存在すればただちに
多重定義のエラーを出すわけではありませんので、片方がな
んらかの条件でパース対象外になっている場合は正常に動作
しますよね。もちろん、そんなコードが良いとは思えません
けど。
例えば、
<?
function foo(){
....
}
if(false){
function foo(){
}
}
?>
挙げておられる例でも lib2.phpの redeclare_function
により前に exit などが行われているならエラーにならな
いはずです。
もちろん、common.phpでlib2.phpをrequireするより前に
exitした場合も同様でしょう。
既にお調べかとは思いますが、一応。
PHP-users メーリングリストの案内