Я поржал когда с ларавелем работал и там типа интерфейсы используют в недоооп пхп, оказалось что к интерфейсу нельзя объект кастануть, методы не определяются, короче мрак. И я понял что полиморфизм в пхп не работает так как нужно просто потому что пхп весь полиморфный по своей сути