简要说明
我目前正在构建一个 Web 应用程序,其中包括许多父类(基类)的扩展。很像下面的结构:
Class A // Base Class
-> Class B // Extension
-> Class C // Extension
// etc
扩展包含特定于站点该区域的功能,例如,我站点的“文档”部分将有自己的类(基类的扩展),并且该类将包含与打开,编辑,删除文档等...
但是,我的应用程序的主导航菜单有一个交互式下拉菜单,其中显示了由其中几个“扩展”类中的方法收集的信息。
我的问题
目前,为了访问为我的导航菜单收集数据所需的所有方法,我必须创建几个扩展类的实例,如下所示:
require_once(class.a.php);
require_once(class.b.php);
require_once(class.c.php);
// Create an instance of Class B to get the data for the first dropdown
$b = new B();
// Gather the data for the first dropdown
$dropdown[0] = $b->get_document_data();
// Create an instance of Class C to get the data for the second dropdown
$c = new C();
// Gather the data for the second dropdown
$dropdown[1] = $c->get_settings_statistics();
虽然创建对象的新实例并不完全是“世界末日”,但我的父类构造函数非常大,因此,我不想每页有多个实例......
结果,我只能看到另一种选择,我只需将必要的方法放入父类中......鉴于我的类的工作方式,这不是很实用!
因此,我想知道的是您是否可以创建一个对象的实例,然后为它单独加载单独的扩展?
或者,如果您能想到更好的方法来实现这一点,请随时提供您的观点...