你能 声明这样 的函数吗?
function ihatefooexamples(){ return "boo-foo!"; };
然后像这样 重新声明 它…
if ($_GET['foolevel'] == 10){ function ihatefooexamples(){ return "really boo-foo"; }; };
这样可以覆盖函数吗?
可以吗
解决此答案未直接解决原始问题的评论。如果您是通过Google搜索到达的,请从此处开始
有一个名为override_function的函数可以实际使用。但是,由于此函数是Advanced PHP Debugger扩展的一部分,因此很难override_function()为生产使用提供参数。因此,我要说“否”,不可能以原始提问者的意图来覆盖函数。
override_function()
在这里,您应该利用OOP,特别是多态性。
interface Fooable { public function ihatefooexamples(); } class Foo implements Fooable { public function ihatefooexamples() { return "boo-foo!"; } } class FooBar implements Fooable { public function ihatefooexamples() { return "really boo-foo"; } } $foo = new Foo(); if (10 == $_GET['foolevel']) { $foo = new FooBar(); } echo $foo->ihatefooexamples();