我有一个超类,它实例化了我的Sql类,这样所有派生类将能够执行查询,而无需在构造它们时实例化自己的Sql实例。 这工作良好,但我有一个问题,我很困惑自己。其中一个派生类在其构造函数中实例化另一个派生类,所以现在我相信我有2个Sql类的实例打开,因为每个实例化父项。我无法覆盖任何派生类中的父类,因为它们都需要访问数据库实例来执行自己的查询。有没有办法阻止派生类调用父构造函数时,另一个派生类实例化它?防止对象的多个实例
我想传递一个参数给类,只有调用父构造函数,如果满足要求如此。
function__construct($param) {
if($param == false) {
parent::__construct();
}
}
您认为这种方法是否有意义,或者您是否预见到将来会出现任何错误?
您正在寻找Singleton模式HTTP: //stackoverflow.com/search?q=%5Bphp%5D+singleton+ – 2012-01-01 00:29:56
为什么你应用程序中有多个实例,如果你只实例化一次? (关于你的恐惧)。接下来,调用父级的构造函数方法是*不*创建额外的实例。 – hakre 2012-01-01 00:30:15
http://en.wikipedia.org/wiki/Singleton_pattern – 2012-01-01 00:30:40