Я полагаю, что это не что-то, связанное с Symfony
, а скорее со слабой типизированной природой PHP
.
Один из способов справиться с этим - позволить вашей функции проверять ее тип через instanceof
, но это считается анти-паттерном из-за того, что вам нужно перенастраивать эту функцию каждый раз, когда вы решаете добавить новый класс, который требует такого типа обработки.
Еще один способ справиться с этим - определить общий интерфейс и реализовать все ваши классы в этом пространстве имен.Таким образом, в вашем расширении Twig вы можете указать подсказку типа интерфейса.Осуществимость этого действительно зависит от того, чего вы хотите достичь.
Надеюсь, что это проливает некоторый свет ...