Codeigniter Класс Наследование между модулями (wiredesigns) – снова

Я задал этот вопрос ранее: Codeigniter Class Inheritance между модулями (wiredesigns)

Я принял ответ на этот вопрос, который предоставил мне способ сделать то, что я хочу, расширив пользовательский контроллер в приложении / ядре. Такой подход казался разумным и предлагал дополнительное преимущество, позволяющее обеим модулям функционировать независимо.

Однако, подумав об этом, я не уверен, что это лучший подход для этой ситуации, потому что контроллер My Products потребует почти всех функциональных возможностей контроллера элементов, поэтому такой подход оставит мой контроллер элемента почти пустым – я не уверен Мне это нравится.

ВОПРОС 1

Хотя я могу по-прежнему придерживаться ранее предложенного подхода, я хотел бы знать, есть ли способ расширить классы между модулями, чтобы я мог взвесить два варианта (см. Исходный вопрос ниже)

ВОПРОС 2

Кроме того, я думаю, что мне нужно будет повторно использовать большую часть моего модельного класса, я вижу, что смогу сделать это, используя MY_Model в приложении / ядре. Но…

a) Есть ли способ прямого доступа к другим моделям модулей?

б) Могу ли я продлить свои модели между модулями так же, как вопрос 1 для контроллеров

ПРЕДЫДУЩИЙ ВОПРОС

В моем приложении CI2 используется модульная компоновка wiredesigns.

У меня есть два модуля под названием item и product в папке aa, называемые модулями:

/application /modules /item /product 

В элементе I есть контроллер, называемый элементом, который начинается следующим образом.

 class Item extends MX_Controller { //code here } 

Что мне нужно сделать, чтобы мой контроллер продуктов расширил мой контроллер элемента в другом модуле

Solutions Collecting From Web of "Codeigniter Класс Наследование между модулями (wiredesigns) – снова"

Правильный ответ здесь:

не

Почему вы пытаетесь это сделать? Поместите свою логику в библиотеку или какой-то общий файл и вместо этого выполните вызов этой библиотеки.

Вы можете сделать Item абстрактным классом в папке application/libraries и автозагрузчик, встроенный в HMVC, автоматически загрузит его. Нет причин, по которым это должно быть в модуле, и определенно не нужно быть контроллером.