我仍然是OOP和模式的新手。我正在尝试创建一个模块系统(Module_A,Module_B等),以调用并决定需要实例化哪个模块我正在尝试实现工厂模式。我开始得到的问题是我的脚本抱怨所有这些模块共享的父类的重新声明。
这就是对工厂的调用:
<?php echo ModuleFactory::build('Module_'.$layout); ?>
在这种情况下,$layout
将是 Alpha
这是工厂类:
class ModuleFactory {
public function __construct() {
}
public static function build($type, $config = Array()) {
require('Module.class.php');
require($type.'.class.php');
$module = new $type($config);
return $module->build_module();
}
}
并且每个Module_X
类都扩展了Module
类。我不确定这个实现是否合适,但我很乐意听到任何替代方案。