我有一个充满方法的类,这些方法依赖于一些变化的变量,例如。我改变了类正在改变的表名。
处理这种情况的最佳方法是什么?
创建一个设置变量的类,并在此类中扩展具有所有方法的类。
使用方法创建类并传入构造函数中的变量。
另一种方式?
决定采用哪种方法处理这种情况的一般经验法则是什么?
此:
class Happy extends Emotions{
protected $table = 'happy';
}
class Emotions {
//lots of methods
}
或者:
class Emotions {
private $table;
public function __construct($table){
$this->table = $table;
}
//lots of methods
}
答案 0 :(得分:0)
两种方式都有一些优点和缺点 如果您使用第一种方式,则意味着您创建一个新类并将其扩展到主Emotion类。 这种方法会增加维护成本,即您必须管理多个类。
如果采用第二种方法,会增加复杂性。
我的建议是,如果你是第二种方式的单人演示,它将增加你编写它时可以处理的复杂性,并且它会降低维护成本,因为它是单一的。
如果你是一个团队,请选择第一种方法。