ОО - это прежде всего методология дизайна.
В качестве таковой возможно придумать дизайн ОО, который может быть реализован
в процедурных языках. Я видел, как это делается для проектов C и COBOL.
И это убедило меня, что почти все преимущества ОО связаны с дизайном, а НЕ с языковой реализацией.
Так что да, вы можете придумать дизайн ОО с большим количеством UML (диаграммы классов, варианты использования, плавательные дорожки и т. Д.), И вы можете реализовать его в php (используя классы или нет).
В любом случае php - это расширенный набор OO, так что если вы ограничиваете себя занятиями
и функции внутри классов (== методов) у вас есть реализация OO.
Единственное, чего не хватает, это определения интерфейса, но это очень мало
смысл определять интерфейсы на языке с такой (не) ограниченной проверкой типов.