2012-11-27 159 views
0

我是OOP的新手,我想问一些问题。PHP OOP - 扩展类

我正在为使用OOP的WordPress编写插件,我想了解如何允许其他插件开发人员扩展和重新定义某些功能。

我有包裹在一个类中的主码如下和类是在文件的底部实例:由

class MyPlugin { 

    // .. methods here .. 

    public function myMethod(){ 
     // do something 
    } 

} 

$myplugin = new MyPlugin; 

然而,我也想另一个插件能够改写myMethod的()扩大班级。

class OtherPlugin extends MyPlugin { 
    public function myMethod(){ 
     // do something else 
    } 
} 

但是为了$myplugin->myMethod()“做别的事情”,我应该这样做是为了覆盖$myplugin对象:

$myplugin = new OtherPlugin; 

回答

1

是的,你会想要重新加载该变量与新的修改上课......除非你通过参考。检查出来... it's a neat little trick

快乐编码! =)

+0

感谢您的回答。但是如果我的对象已经具有属性,会发生什么?不会重新加载变量重置所有集属性?你能解释一些关于传递参考的更多信息吗?我已经阅读了PHP手册并知道它的工作原理,但我不太清楚在这种情况下如何应用它。 – mushroom

+0

除非我在理解你所问的问题上犯了一些严重错误,否则我不认为会有问题。您正在运行同一个班级,因此除了扩展名外,所有内容都是相同的。自己运行一个测试用例,如果有任何问题,请回来!通过引用,我简单地给出了明确重置变量的替代方案。这对于你的目的来说并不重要。 – Nathanael