2010-01-17 5 views
7

Я планирую использовать доктрину для написания модуля моего приложения, которое построено с помощью codeigniter.using doctrine с codeigniter

У меня есть очень простой вопрос: позволяет сказать, что у меня есть таблица под названием «пользователь», с доктриной генерации-моделей из db, 3 класса сгенерированы BaseUser.php, User.php и UserTable.php. Теперь, как я видел в примерах, они используют стигмент User class. Должен ли я это делать? Мне нужны дополнительные бизнес-функции для пользовательских объектов. Так что я должен создать модель userigner, а затем использовать пользовательский класс внутри нее (агрегирование) или каким-то образом расширить класс пользователя (я не знаю, как это будет выполняться как модель user_model extends)

Немного путают на этом и не могут найти любая соответствующая литература для них. Любая помощь будет оценена по достоинству.

спасибо заранее,

ответ

2

Для тех, кто заинтересован - я вывешен стартера проекта на моем блоге - это DEV готова инкорпорация из следующих технологий:

  • ExtJS: на сторону клиента JS библиотека,
  • CodeIgniter: презентация + домен первого уровня,
  • Doctrine: структура данных слоя ORM

Некоторые функции этого стартера проекта: - Модели CodeIgniter заменены документами Doctrine - Доктрина загружается в CI в качестве плагина - Тип RoR до и после фильтров .... - транзакции Doctrine автоматически обернута вокруг каждого действия во время выполнения (ATOMIC дБ обновлений)

Основная роль на основе безопасности (Я думаю, Redux может быть там, а) Просто распакуйте, подключить файл конфигурации и database.php альт .... Вы можете начать кодирование своих макетов, представлений и моделей. Наверное, несколько вещей, чтобы сгладить - но наслаждайтесь!

Надеется, что это помогает

GET IT AT: http://thecodeabode.blogspot.com

+1

Wow! Не отвечая на вопрос, самозапуск, плохая ссылка на не-статью и личный блог, более насыщенный рекламой, чем сайт Geocities. Позор, я пока не могу понизить. – MikeMurko

0

Проверить эту info on Doctrine_Table class.

Для ваших 3 сгенерированных файлов:
BaseXXX.php:
Вмещает определение ваших моделей, так что доктрина способна обрабатывать операции в базе данных. Этот класс сообщает ORM, какие доступные колоны, их типы, полезные функции (например, Timestampable, ...) и многое другое. Вы не должны помещать свои данные в этот файл, так как он будет переписан при повторном создании моделей из базы данных.

XXX.php:
Ваша фактическая модель. Это не будет воссоздано с каждым процессом нового поколения, и именно это вы сохранили большую часть своего кода. Вы можете перезаписать функции BaseXXX.php, если вам нужно.

XXXTable.php:
Проверьте мою ссылку сверху, Это дает вам доступ к самой таблице. Лично я не использую его так часто, так как я добавляю большую часть кода в XXX.php.

Конечно, вы можете создавать новые классы и использовать их в своем файле XXX.php. Чтобы действительно что-то делать с данными (save, read, ...), вам нужны классы, которые связаны (расширены) из классов Doctrine.

редактировать: также проверить this на течение более подробной информации с продлением от Doctrine_Table класса

Смежные вопросы