Это проект Symfony 3.
В сущности User мне нужно реализовать метод getRoles(). У меня есть частный член $roles, который представляет собой массив, и я добавил его в методы сериализации и unserialize.
public function getRoles()
{
if (count($this->roles) == 0) {
$this->roles = { ... read from db ... };
}
return $this->roles;
}
Проблема, с которой я столкнулся, заключается в том, что в части... чтения из базы данных... мне приходится использовать некоторые параметры из файла options.yml< /код>. Обычно $this->container->getParameter(...) выполняет эту работу. К сожалению, из сущности у меня нет доступа к контейнеру.
Мой вопрос: Как я могу получить доступ к параметрам.yml из сущности?
Могу ли я как-то внедрить необходимые параметры?
Другой вопрос: нужно ли мне также сериализовать $roles > или их нужно читать при каждом запросе?
--- РЕДАКТИРОВАТЬ ---
Эта логика кажется мне правильной.
getRoles()Функция должна передать роль пользователя в пакет безопасности. Это достигается путем запроса частных членов и отношений ORM. Единственная проблема заключается в том, что мне нужно определить определенные группы, поскольку они не имеют одинаковых имен во всех развертываниях. Вот почему мне нужны параметры.yml.
Вот фрагмент сущности User, реализующий AdvancedUserInterface.
public function getRoles() {
$ADMIN_GRP = "ADMIN_GROUP"; // I need this from parameters.yml
$SUPPORT_GRP = "SUPPORT_GROUP"; // I need this from parameters.yml
$roles = ['ROLE_USER'];
foreach ($this->memberships as $m) {
if ($m->getGroupId() == $SUPPORT_GRP)
array_push($roles, "ROLE_SUPPORT");
if ($m->getGroupId()) == $ADMIN_GRP)
array_push($roles, "ROLE_ADMIN");
}
return $roles;
}
Подробнее здесь: https://stackoverflow.com/questions/446 ... ser-entity
Как использовать параметры Symfony в пользовательской сущности ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1732574378
Anonymous
Это проект Symfony 3.
В сущности User мне нужно реализовать метод getRoles(). У меня есть частный член $roles, который представляет собой массив, и я добавил его в методы сериализации и unserialize.
public function getRoles()
{
if (count($this->roles) == 0) {
$this->roles = { ... read from db ... };
}
return $this->roles;
}
Проблема, с которой я столкнулся, заключается в том, что в части... чтения из базы данных... мне приходится использовать некоторые параметры из файла options.yml< /код>. Обычно $this->container->getParameter(...) выполняет эту работу. К сожалению, из сущности у меня нет доступа к контейнеру.
Мой вопрос: [b]Как я могу получить доступ к параметрам.yml из сущности?[/b]
Могу ли я как-то внедрить необходимые параметры?
Другой вопрос: [b]нужно ли мне также сериализовать $roles[/b] > или их нужно читать при каждом запросе?
--- РЕДАКТИРОВАТЬ ---
Эта логика кажется мне правильной.
getRoles()Функция должна передать роль пользователя в пакет безопасности. Это достигается путем запроса частных членов и отношений ORM. Единственная проблема заключается в том, что мне нужно определить определенные группы, поскольку они не имеют одинаковых имен во всех развертываниях. Вот почему мне нужны параметры.yml.
Вот фрагмент сущности User, реализующий AdvancedUserInterface.
public function getRoles() {
$ADMIN_GRP = "ADMIN_GROUP"; // I need this from parameters.yml
$SUPPORT_GRP = "SUPPORT_GROUP"; // I need this from parameters.yml
$roles = ['ROLE_USER'];
foreach ($this->memberships as $m) {
if ($m->getGroupId() == $SUPPORT_GRP)
array_push($roles, "ROLE_SUPPORT");
if ($m->getGroupId()) == $ADMIN_GRP)
array_push($roles, "ROLE_ADMIN");
}
return $roles;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/44609017/how-to-use-symfony-parameters-in-user-entity[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия