Отдельный пользовательский контроллер и контроллер регистрации или объединить их? - PullRequest
4 голосов
/ 01 июля 2011

Создаю свое первое веб-приложение с использованием Yii и задаюсь вопросом, лучше ли включить процесс регистрации пользователей в качестве части моего UserController или лучше создать регистрационный контроллер и сохранить разделенную логику?

И ... с той же точки зрения, было бы полезно иметь profileController для обработки дополнительной пользовательской информации или просто иметь userController, который также обрабатывает эту информацию?

Ответы [ 5 ]

0 голосов
/ 08 июля 2011

Хорошая идея - поместить пользовательский материал в модуль, чтобы вы могли легко использовать его в другом приложении.В этом модуле вы можете поместить профиль или другие связанные с пользователем контроллеры без загромождения приложения.

0 голосов
/ 03 июля 2011

Требует ли эта форма от пользователя ввода данных, которые не хранятся постоянно в базе данных?Если это так, то вы должны создать новую модель, полученную из CFormModel, а не ActiveRecord.Ваш контроллер сайта может обрабатывать запуск представлений CFormModel, которые затем заботятся о себе (валидация, ajax и т. Д.), Если им не требуется динамическое взаимодействие с сервером (LoginForm), или они могут иметь отдельный контроллер, если более сложное взаимодействиенеобходимо (RegisterForm).В CFormModel вы можете получить доступ к пользовательскому вводу во время сеанса и обработать / сохранить его так, как вам нравится, но затем он исчезнет, ​​когда пользователь завершит работу.См. LoginForm и RegisterForm для демонстрации блога, в качестве примеров шаблонов.Имеет ли эта форма такое же динамическое взаимодействие данных с другими моделями, как и с пользователем (не только одноразовое каскадирование отношений)?В этом случае может быть лучше создать тот отдельный RegisterController, который вы упомянули.Это то, что делает демонстрация блога, и это довольно простое приложение.Вы можете использовать gii для автоматического создания интерфейса CRUD для администраторов и модераторов / менеджеров сообщества из вашей модели User.Затем вы можете настроить его и сделать его частичным всякий раз, когда вы захотите повторно использовать одно из этих представлений для пользователя без прав администратора.Правила валидации в моделях тоже переносятся.Только гости и пользователи с обычными привилегиями нуждаются в неработающем интерфейсе LoginForm и RegisterForm.

0 голосов
/ 01 июля 2011

На мой взгляд, вы можете сделать это до UserController, потому что идея регистрации заключается в создании нового пользователя. Поэтому я думаю, что вы можете сделать Register то же самое с Create.

0 голосов
/ 02 июля 2011

На самом деле они не очень сложны и могут быть в одном контроллере. По крайней мере, я имею привычку включать CRUD в один контроллер (возможно, мои приложения не содержат сложной логики)

0 голосов
/ 01 июля 2011

Является ли регистрация созданием пользователя?

Точно так же, как профиль - это просто просмотр или обновление пользователя?

Кажется, что все они могут соответствовать одному контроллеру как базовомуОперации CRUD.

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