[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 メーリングリストの案内

AltStyle によって変換されたページ (->オリジナル) /