Совместимость Codeigniter HMVC и datamapper

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

Модульные расширения — HMVC
http://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home
Datamapper ORM
http://datamapper.exitecms.org/

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

Большое спасибо всем вам.


person bobo    schedule 07.12.2010    source источник


Ответы (2)


Во-первых, предостережение: я использовал расширение HMVC, но не Datamapper ORM.

Насколько я понимаю, у этих двух расширений разные цели. Конфликта в принципе не вижу.

Расширение HMVC полезно, когда ваше представление состоит из нескольких подвидов. Это позволяет вам разделить ваше приложение на модули, чтобы ваши представления могли быть построены на основе вывода нескольких действий контроллера.

Datamapper ORM позволяет отображать данные в вашей базе данных непосредственно на объекты PHP в вашем приложении. Это избавляет вас от необходимости писать SQL-запросы для извлечения строк из базы данных и гидратации объектов в вашем приложении. Вы определяете, из какой таблицы загружается ваша модель и как она связана с другими моделями в вашем приложении. Datamapper генерирует запросы для выполнения операций CRUD за кулисами.

HMVC заботится о том, как вы структурируете свое приложение. Datamapper ORM связан с тем, как вы строите свои модели. Я не понимаю, как Datamapper помешает вам использовать HMVC или наоборот.

person Stephen Curran    schedule 07.12.2010
comment
Большое спасибо за ваш ответ. Причина, по которой я ожидаю некоторых проблем совместимости при их совместном использовании, заключается в том, что я нашел эту веб-страницу: codeigniter.com /wiki/HMVC_for_DMZ_Modular_Separation похоже, это еще одно расширение, написанное кем-то, которое также предназначено для выполнения HMVC в Codeigniter, и у него есть некоторые проблемы с преобразователем данных (хотя это предыдущая версия) - person bobo; 07.12.2010
comment
Ах, я понимаю, что вы имеете в виду. При автозагрузке модели в модуле не выполняется поиск в каталоге моделей модуля. При использовании HMVC я всегда определял свои модели на уровне приложения, а затем делился ими со всеми своими модулями. Планируете ли вы определять свои модели на уровне приложения или модуля (или их комбинации)? - person Stephen Curran; 07.12.2010
comment
Я знаю. Определяя модель на уровне приложения, а не на уровне модуля, это означает, что модуль не может быть перенесен в другие приложения. Но я никогда не считал переносимость модулей полезной. Я использовал HMVC только для разложения представления на несколько подпредставлений, каждое из которых имеет собственное действие контроллера. - person Stephen Curran; 07.12.2010

Я бы также посоветовал взглянуть на Doctrine ORM. Это очень мощная ORM-инфраструктура, которую я использую в течение последнего года или около того во всех своих проектах CodeIgniter, и она работает очень хорошо, без каких-либо проблем с совместимостью или чего-то подобного.

Учебник по установке Doctrine с помощью CodeIgniter.

person Shivaas    schedule 09.12.2010
comment
Большое спасибо за ваш ответ. Могу ли я спросить, использовали ли вы Modular Extensions — HMVC с Doctrine ORM без каких-либо проблем с совместимостью в своих проектах? - person bobo; 10.12.2010
comment
Я не использовал HMVC с Doctrine в своих проектах. - person Shivaas; 10.12.2010