Вызов метода контроллера из CUserIdentity

0

Я использую Facebook Login с HybridAuth. Я получаю профиль FB просто отлично, но я немного смущен относительно того, что с ним делать. Я сравниваю себя с моей зарегистрированной таблицей пользователей, чтобы проверить, есть ли у меня уже электронная почта пользователя из профиля FB, если у меня есть, то регистрация завершается с сохраненной учетной записью, если нет, я создаю новую учетную запись пользователя и сохраняю ее в моей БД. Дело в том, что когда я создаю нового пользователя, я вызываю метод в своем пользовательском контроллере, например:

UserController::createUserSocialNetwork($userprofile);

Yii не позволяет мне делать это, поскольку класс для файла контроллера еще не импортирован. Я понимаю, что я могу импортировать класс контроллера в свой конфигурационный файл Yii, или я могу использовать Yii::app()->runController из класса, который расширяет CUserIdentity, лично я склоняюсь к первому, но я не совсем уверен если любой из них является правильным подходом. Поэтому мой вопрос: как мне это сделать без ущерба для основных функций Yii? Импортирует файл контроллера в конфигурацию, нарушая любые правила проектирования, которые следует Yii?

Теги:
facebook
facebook-login
yii

1 ответ

0
Лучший ответ

Во-первых, я настоятельно рекомендую обработать создание пользователя в ActionScript, а не UserIdentity. если это невозможно, вы можете переместить логику в поведение контроллера или вспомогательный класс или даже в модель пользователя (и все эти альтернативные варианты не являются лучшей практикой проектирования).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню