использование доктрины с codeigniter

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

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

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

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

7
задан shikhar 17 January 2010 в 07:53
поделиться

2 ответа

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

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

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

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

Надеюсь, это поможет

ПОЛУЧИТЕ ЭТО: http://thecodeabode.blogspot.com

1
ответ дан 7 December 2019 в 20:37
поделиться

Ознакомьтесь с информацией о классе Doctrine_Table .

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

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

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

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

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

0
ответ дан 7 December 2019 в 20:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: