Как добиться повторного использования кода модели

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
makeloo86
Сообщения: 55
Зарегистрирован: 2016.09.07, 12:35

Как добиться повторного использования кода модели

Сообщение makeloo86 »

Здравствуйте! Шаблон advanced. Есть модель common\models\User
Создал модуль профиля пользователя frontend\modules\profile

Как в модуле профиля использовать модель User из common?
Я могу создать в профиле папку models и там создать модель User и наследовать ее от common\models\User
Но какой то каламбур получается "class User extends User". По моему так не очень правильно.
Если не создавать модель User в профиле, то Gii ругается что модели нет, при попытке создания CRUD в профиле.
Подскажите пожалуйста как правильно настроить повторное использование кода моделей из common в фронтенде и бэкэнде.
Спасибо.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Как добиться повторного использования кода модели

Сообщение ElisDN »

Так и используйте common\models\User.
makeloo86
Сообщения: 55
Зарегистрирован: 2016.09.07, 12:35

Re: Как добиться повторного использования кода модели

Сообщение makeloo86 »

Спасибо Дмитрий за ответ. Развеяли сомнения)))
Так и сделал class User extends common\models\User

Если же добавить вверху файла use common\models\User, то на class User extends User phpStorm ругается.
ShNURoK
Сообщения: 168
Зарегистрирован: 2012.04.12, 05:44
Контактная информация:

Re: Как добиться повторного использования кода модели

Сообщение ShNURoK »

Нужно использовать алиасы, use common\models\User as CommonUser, так как непонятно будет по коду к какому неймспейсу вы обращаетесь.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Как добиться повторного использования кода модели

Сообщение ElisDN »

makeloo86 писал(а):Так и сделал class User extends common\models\User
Я имел в виду не делать вторую модель, а использовать оригинальную common\models\User.
Ответить