используя учение с codeigniter - PullRequest
7 голосов
/ 17 января 2010

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

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

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

Ответы [ 2 ]

1 голос
/ 05 июня 2010

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

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

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

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

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

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

0 голосов
/ 16 июня 2010

Проверьте информацию о классе Doctrine_Table .

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...