我写了一个运行良好的 wordpress 插件。然而,它只是工作,但这里没有 OOP,因为当时有必要尽快构建一些东西。我阅读了一些文献,发现由于菱形问题,php不支持多重继承。
当前情景:
Flickr
--pic importer
----1. sql.php
----2. javascript.php
----3. call to show database contents
--photoset importer
----1. sql.php
----2. javascript.php
----3. call to show database contents
在这里,我创建了 2 个类:picImporter
和photosetImporter
. 1. sql.php
这两个类共享来自 (和) 的共同内容,2. javascript.php
但第 3 点(显示数据库内容的实现对它们不同)。
所以,我的想法是:我应该创建另一个类,Global
并且类应该扩展这个类。在 Global 类中应该有一个子类必须定义的抽象类。于是设计变成了:photosetImporter
picImporter
Class Global{
//$sql comes sql.php,
//$javacript comes javascript.php,
abstract protected function showDatabaseContents();
}
Class picImporter extends Global{
protected function showDatabaseContents() {
//implementation using **$sql** from base
}
}
Class photosetImporter extends Global{
protected function showDatabaseContents() {
//implementation using **$javascript** from base
}
}
在我继续之前,我只想知道我是否在正确的轨道上,如果可能的话进一步指导。
谢谢,-S。