2010-12-07 2 views
3

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

Модульные Extensions - HMVC
http://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home
DataMapper ORM
http://datamapper.exitecms.org/

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

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

ответ

1

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

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

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

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

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

+0

Большое спасибо за ваш ответ. Причина, по которой я ожидаю некоторых проблем с совместимостью, когда они используются вместе, я нашел эту веб-страницу: http://codeigniter.com/wiki/HMVC_for_DMZ_Modular_Separation/, это, похоже, другое расширение, написанное кем-то, которое также предназначено для делая HMVC в Codeigniter, и у него есть некоторые проблемы с datamapper (хотя это предыдущая версия) – bobo 2010-12-07 17:05:30

+0

А - Я понимаю, что вы имеете в виду. При автозагрузке модели в модуле каталог моделей модулей не выполняется. При использовании HMVC я всегда определял свои модели на уровне приложений, а затем делил их по всем моим модулям. Планируете ли вы определять свои модели на уровне приложений или модулей (или их комбинации)? – 2010-12-07 17:28:20

1

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

Tutorial for installing Doctrine with CodeIgniter.