Я внедряю Facebook Login с HybridAuth. Я получаю профиль FB просто отлично, но я немного смущен относительно того, что с ним делать. Я сравниваю себя с моей зарегистрированной таблицей пользователей, чтобы проверить, есть ли у меня уже электронная почта пользователя из профиля FB, если у меня есть, то регистрация завершается с сохраненной учетной записью, если нет, я создаю новую учетную запись пользователя и сохраняю ее в моей БД. Дело в том, когда я создаю нового пользователя я вызвать метод в мой контроллер пользователя, например:Вызов метода контроллера из CUserIdentity
UserController::createUserSocialNetwork($userprofile);
Yii не позволяет мне сделать это как класс для файла контроллера не были импортированы еще. Я понимаю, что я могу импортировать класс контроллера в свой конфигурационный файл Yii, или я могу использовать Yii::app()->runController
из класса, который расширяет CUserIdentity
, лично я склоняюсь к первому, но я не совсем уверен, что любой из них является правильным подходом , Поэтому мой вопрос: как мне это сделать без ущерба для основных функций Yii? Импортирует файл контроллера в конфигурацию, нарушая любые правила проектирования, которые следует Yii?
Можете ли вы переместить логику из 'UserController :: createUserSocialNetwork' в модель« Пользователь »и вызвать« UserModel :: createUserSocialNetwork »как из« UserController :: createUserSocialNetwork », так и из вашего сценария входа? – Stu
Почему вы обрабатываете создание пользователя в пользовательском удостоверении в первую очередь? разве вы не должны обрабатывать его внутри действия контроллера? – osmancode
Я бы изменил дизайн своего приложения и переместил эту логику в модель пользователя (не из лучших практик) или создайте вспомогательный класс – osmancode