Реализация наследования классов в codeigniter - PullRequest
0 голосов
/ 25 августа 2011

Я опять запутался в реализации ООП в CodeIgniter.

По своей структуре у меня есть два класса, а именно Customer и Supplier.Оба класса расширяют суперкласс, который я называю 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 Ответ

1 голос
/ 25 августа 2011

Ну, так как это будут ваши доменные модели, это должны быть модели. И нет ничего плохого в том, что другой класс model является базовым классом для класса model. Итак, вам просто нужно сделать класс Institution (или DBConnection, если вы предпочитаете его сохранять) расширением CI_Model.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...