Interfaces позволяет создавать код, который определяет методы классов, которые его реализуют. Однако вы не можете добавить код к этим методам.
Абстрактные классы позволяют вам делать то же самое, наряду с добавлением кода к методу.
Теперь, если вы можете достичь той же цели с абстрактными классами, почему нам даже нужна концепция интерфейсов?
Мне сказали, что это связано с теорией OO от С++ к Java, на которой основывается материал PHP OO. Является ли понятие полезным в Java, но не в PHP? Разве это просто способ удержания от заполнителей, заполненных абстрактным классом? Я что-то пропустил?