Напишу с точки зрения джаваскриптора. С php знаком поверхностно, и, как по мне, там это бесполезная затея. Как и, простите, сам php (сугубо моё мнение, не холивара ради).
При ООП требуется совершенно иное мышление. Мыслить придется очень абстрактно, продумывая порой одну только структуру целыми неделями. И проблема ООП в том, что она позволяет эту структуру обдумывать неделями, в то время, как при функциональном/императивном подходе можно было уже написать рабочий прототип и отрефакторить. Фактически, никаких преимуществ не возникает, опять же, с моей точки зрения и имеющегося опыта. Так как возникает большой простор для творчества, то по незнанию можно весь код усложнить в сотню раз, в то время, как ООП наоборот позиционируют как парадигму, упрощающую поддержку.
Например, класс User. Может, он умеет создавать записи в блог? А может есть класс Blog, с методом .newPost()? А может и вовсе Post.new()?
Для меня эти вещи оказались избыточными, хотя возможно во мне говорит нехватка опыта и я буду рад, если меня поправят.