Лев К: любая бд работает с цифрами быстрее, чем с любым другим типом. PHP это не C++, он все равно будет медленным. Но в плане цифр и статусов вы можете смело лепить хоть 10-ть штук. Не знаю какая у вас реализация, но я делаю через модели и делаю константы. как тут было с юзерами.
Посмотрите в каком он окружении. На продакшене все что отличается от 127.0.0.1 является продакшеном и юии переходит в окружение Prod и соответственно не работает дебагер и gii. Для начало во входом скрипте поменять на то, что бы он подтягивал конфиги и использовал этим модули.
Станислав Почепко: Вам пытаются объяснить, что Юзеры, Админы, Организации - это все одна модель User. Авторизация для них работает по одинаковому алгоритму. Вы можете и руками авторизировать юзера. при этом достаточно два поля на проверку.
То что у вас выбор при регистрации то это другое дело. И тут вы вольны реализовать так как умеете или захотите. Можно в регистрации поставить инпут на выбор, а в валидации или контроллере проверять какой инпут стоит и в соответствии присваивать желаемую роль. Можно вообще сделать две формы и по инпуту через JQuery скрывать одну из них. При этому валидацию строить на основании инпута.
В модели User - чаще всего лежит техническая информация, логин, мыло, токены, время регистраций, изменений, заходов, ip, если нужно живучие сессии тоже в бд и роль. Вся остальная инфа вносится в модель профиля и там она уже может быть какой угодно от организации до админа и поставщиков.
Авторизация происходит по определенным полям(которые вы сами можете выбрать). Логин и пароль или мыло и пароль, иногда еще и телефон пихают - оно у всех User будет. Вот вы когда в свою квартиру входите. У вас есть дверь и ключ? Ваши родные когда приходят домой, дверь открывают как то иначе? Нет, они открывают тоже ключом, хотя их роль отличная от вашей. Роль не имеет никакого значения в авторизации.
А вот при показе контента или профиля. В зависимости от роли будет разное view или будут показаны скрытые поля именно для этой роли.
Кирилл Арутюнов: Не стоит переживать, автор оставил комментарии, следующий разработчик, который будет работать с его проектом. Попадется PHP-Маньяк садист, найдет его =)
Максим Тимофеев: решит само собой, просто хотел решить в одном месте проблему, что бы в остальных не править, но видимо придется пилить отдельные виды и от роли показывать нужное.
yii1 - не имел шаблонов.
Админка модулем сделана.
RBAC - стандартный
Мне виднелось такое же решение с сессиями. Но по сути, архитектура разделена и доступна админу изначально, но в местах сопряжений т.е. где и то и другое смотреть нужно. либо писать вьюшку специально под пдмина, либо делать костыль через серверную сессию.
Да, я им тоже пользуюсь когда пишу проекты с нуля. Удобный очень, но и сама концепция Yii2 удобнее, там не только от роли, но и правила настраиваются. Но я все же ищу какое-то простое решение. ВК как то же реализовал ) У меня есть костыль. Сделать абстракцию с сессионной переменной и контент выдавать по ней. но это костыль =)
Владимир Козловский: на чем проще и сложнее, сугубо индивидуальная тема. Если тебя окружают PHPисты и ты один в JS/C# смог, то да, сложнее. Если ситуация противоположная и отдел чаще работает с SPA, то они сделают быстрее, не говоря уже о скилах коллег. Можно сделать одинаково плохо как на Angular так и на Php. Есть корпоративные наработки и привычки ведения разработки ПО. И я не сравниваю языки, если что. Они используются по разному и диапазон их возможностей разный и завист от проекта - это ключевое.