Архитектура приложения

Обсуждение документации второй версии фреймворка. Переводы Cookbook и авторские рецепты.
Ответить
HaligaliCopter
Сообщения: 2
Зарегистрирован: 2017.08.07, 11:11

Архитектура приложения

Сообщение HaligaliCopter » 2017.08.07, 11:24

Здравствуйте. У меня проблемы с архитектурой приложения на Yii2. Я как бы прочитал уже уйму статей на хабре, отдельные мануалы по темам, какая часть как используется я понимаю, но не могу собрать всё воедино и заставить работать! По сравнению с симфони мне не ясно где и что реализовывать.

Есть у меня юзер, в виде модели по пути models\User.php

Мне нужно осуществлять вход по openid и если юзер новый то добавлять данные в БД, как бы регистрировать его. Где должно происходить это добавление? В это модели models\User.php?

Далее. Мне нужно работать с юзером, оперировать его данными анкетными данными. То есть вообще всё будет вертеться вокруг сущности User. Опять же это та же модель models\User.php? Мне в неё добавлять свойства, методы, хелперы и т.д.?

Третье. Куда писать маршруты и правила доступа для них?

И еще есть уйма вопросов. Я понимаю что пойдут ответы "дело твоё" и "делай как ты хочешь". Но я не знаю как хочу! Есть какой-то пример архитектуры который можно взять за основу? Чтобы уже было понятно где модели, где маршруты, где сервисы?

chesar
Сообщения: 371
Зарегистрирован: 2013.04.10, 17:49

Re: Архитектура приложения

Сообщение chesar » 2017.08.07, 12:38

Можете подсмотреть тут https://github.com/2amigos/yii2-usuario

Аватара пользователя
ElisDN
Сообщения: 4310
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Архитектура приложения

Сообщение ElisDN » 2017.08.07, 13:51

Как раз для сбора всего этого воедино в Yii2 посмотрите http://www.elisdn.ru/yii2-shop. Все вопросы отпадут.
Не забудьте пройти мастер-класс по Yii2.

HaligaliCopter
Сообщения: 2
Зарегистрирован: 2017.08.07, 11:11

Re: Архитектура приложения

Сообщение HaligaliCopter » 2017.08.08, 22:10

Это что-то очень круто. Воедино собрано слишком много... но спасибо, я открываю и смотрю.

Вопрос более конкретный.

Юзер авторизуется через социальную сеть и ТОЛЬКО! Я поставил компонент eauth (https://github.com/Nodge/yii2-eauth-demo)

Мне нужно при первом входе запомнить его ID в БД, где-то сохранить что он авторизовался (наверное в сессии) и в дальнейшем использовать его учетные данные из БД.

Создал модель User extends ActiveRecord implements IdentityInterface и застопорился.

Где я должен делать инсерт в БД когда юзер еще новый? В этой модели в методе findByEAuth? Или в другом месте?

Где я должен сохранять его в сессию?

В какую модель мне добавлять остальной функционал касающийся работы с Юзером, например метод смены аватарки юзера, установка даты рождения? Всё в этой же модели User?

Аватара пользователя
samdark
Администратор
Сообщения: 8469
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Архитектура приложения

Сообщение samdark » 2017.08.09, 18:54

Для авторизации через социалки лучше официальный yii2-authclient.

Вот так хранится всё: https://github.com/samdark/yiipowered/b ... andler.php

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя