@sergeev_ev

Yii2: В чем отличия между расширенями класса User?

Доброго времени друзья.
Ну и как обычно ламерский вопрос на потеху публике.
Итак:
Начал изучать Yii2, в частности регистрацию на сайте.
У меня после установки фреймворка начало класса User такое:
class User extends \yii\base\BaseObject implements \yii\web\IdentityInterface
У учителя вот такое начало:
class User extends ActiveRecord implements IdentityInterface

В первом варианте scenario не определяется PhpStorm'ом и появляется ошибка вида:
Unknown Property – yii\base\UnknownPropertyException
Setting unknown property: app\models\User::scenario

Заранее спасибо.
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
DeyvHorni
@DeyvHorni
Твой класс работает с базовым объектом, а класс учителя с базой данных
В basic приложении сразу создается такой класс как у тебя, а такой как у твоего учителя по умолчанию присутствует в advanced приложении в common/models.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
antonov22
@antonov22
PHP - программист.
scenario - свойство класса yii\base\Model, от которого в свою очередь наследуются ActiveRecord. В базовом шаблоне предполагается, что данные по юзерам хранятся в свойстве users модели User, что конечно не удобно, если юзеры могут как-либо добавляться (через админку или регистрацию на сайте). Поэтому практически всегда наследуют от ActiveRecord, неважно basic или advanced.

https://yiiframework.com.ua/ru/doc/guide/2/securit...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы