ну это не философия... это как например в свое время Генри Форд смог всех конкурентов оставить позади и удешевить автомобили чт они стали доступны среднему классу... до этого автомобиль собирало несколько человек.. они были высококвалифицированные мастера которые делали авто с начала до конца... а Генри Форд придумал конвейер.. на котором работают люди которые умеют делать только тупо несколько операций.. и автомобиль идет по конвейеру - и каждый делает что то свое.. в конце выходит готовый продукт... ООП по сути позволяет сделать конвейер... конечно это упрощенно.. но смысл в чем что благодаря ООП проект получается разделить на объекты.. и человек который работает с одним объектом - вообще не должен знать что происходит в другом объекте.. просто знает что можно с этим объектом сделать и что он может вернуть.. лично мне нравится больше вариант без конвейера)) но только потом что я с ООП не сильно разобрался))
На деле никто не заставляет кодить на ООП. Более того, я постоянно напоминаю, что PHP позволяет сочетать оба подхода. Просто реалии таковы, что есть задачи, где ООП не нужен. Но справедливо и обратное - есть задачи, где без ООП убиться можно. Так что уметь в ООП нужно. На определенном этапе без него начнешь зашиваться. Но и городить ООП ради ООП тоже не надо. Видел я, как люди решают задачи, которые в процедурном стиле умещаются в 10 строк, разбивая их на кучу классов, связей, с прям иерархией файловой, аутолоадами и тд, бессмысленно, беспощадно. Головой нужно думать. И выбирать инструмент, отталкиваясь от задачи.
Всё упирается в задачу, некоторые задачи лучше всего решать с помощью ООП, другие в процедурном стиле, ещё посмотри "Функциона́льное программи́рование"
Да я сам пишу при помощи ООП, просто было интересно, почему так популярен именно этот метод нежели обычный на простых условиях типа: if(!empty($user)) { if(!empty($password)) { } .. }
ООП популярен, потому что дает более широкие возможности в плане структурирования и повторного использования кода. А в ряде случаев возможность оперирования независимыми автономными сущностями - это идеальное решение, которое оочень сложно накостылять на процедурах.
Линчо для меня наиболее очевидным примуществом ООП стала возможность видимости переменных во всех методах(функциях) объекта. Честно говоря, это и стало главной причиной перехода на ООП. В продурном варианте приходилось постоянно предавать большое количество данных для обработки как прарметры функций и соответственно возвращать , а потом разбираться в этой каше. Далее в процессе освоения ООП выявлялись другие плюшки, главными из которых является структурированность кода, а соответсвеноо более высокая читабельность, и как уже упоминалось выше, возможность работы над проектом неограниченному количеству людей.