2011-08-25 101 views
0

我再次对CodeIgniter中实现OOP感到困惑。在codeigniter中实现类继承

按设计,我有两个类,即客户和供应商。这两个类都扩展了我称之为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. 它是作为控制器还是模型中实现它们的最佳方式?应考虑哪些因素?

一位朋友提出了一种方式,我觉得有点怪异,模型扩展了模型。如果可能的话,我尝试以符合代码的方式进行操作。

任何建议将不胜感激。

回答

1

那么,它将成为你的领域模型实体,它应该是模型。并且将model类作为model类的基类没有任何问题。所以,你只需要让你的Institution(或DBConnection,如果你想保留它)延长CI_Model

+0

看完答案后忘记复出。把它们作为模型而不是控制器对我来说更有意义。所以我采纳了你的建议,并把它们都构建为一个。 – dqiu