Можно расширить функциональность, добавив политики. Тогда проверка будет выглядеть примерно так: $context->can('помидор.кнопка_отчёта', $помидор), где второй параметр необязательный. Если объект передан, подходящая политика проверит его цвет, происхождение и дату заказа.
Но тут мы уже начинаем приближаться к Symfony Security Voter’ам. Для небольшого частного модуля такая универсальность может оказаться избыточной - не каждый помидор заслуживает отдельного комбайна)
Спасибо за ваш хороший и важный вопрос.
Можно расширить функциональность, добавив политики. Тогда проверка будет выглядеть примерно так:
$context->can('помидор.кнопка_отчёта', $помидор), где второй параметр необязательный. Если объект передан, подходящая политика проверит его цвет, происхождение и дату заказа.Но тут мы уже начинаем приближаться к Symfony Security Voter’ам. Для небольшого частного модуля такая универсальность может оказаться избыточной - не каждый помидор заслуживает отдельного комбайна)