在codeigniter中实现类继承

时间:2011-08-25 03:07:46

标签: codeigniter inheritance

我再次对在CodeIgniter中实现OOP感到困惑。

按照设计,我有两个类,即客户和供应商。这两个类都扩展了我称之为Institution的超类。

当我使用php(没有框架)编写它们时,对我来说不是问题。

class Customer extends Institution {
    public function __construct() {
        parent::__construct();
    }
}

class Supplier extends Institution {
    public function __construct() {
        parent::__construct();
    }
}

class Institution extends DBConnection {
    public function __construct() {
        parent::__construct();
    }
}

class DBConnection {
    // do CRUD activities here
}

问题是:

  1. 如何使用CI编写它们?
  2. 是控制器还是模型中实施它们的最佳方式?应该考虑哪些因素?
  3. 一位朋友建议我认为有点hacky的方式,模型扩展模型。如果可能的话,我尝试以codeigniter合适的方式来做。

    任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

好吧,因为它将成为您的域模型实体,它应该是模型。将另一个model类作为model类的基类并没有错。因此,您只需要将Institution(或DBConnection,如果您愿意保留)类扩展CI_Model