Не хочу никого обидеть и устроить срач Прощай ООП, недавно начал изучать PHP, основы подтянул, добрался до ООП, но статья меня пугает, так нужно ли учить ООП или функциональное программирование: Welcome?
Zrq12: ООП нужно знать и понять, пригодится всегда и везде.
ФП тоже можете посмотреть, но уже сильно позже когда с ООП полностью разберетесь.
также добавлю что в ООП, помимо основ (сами обьекты, полиморфизм, наследование и тд) нужно еще и паттерны поизучать.
Юрий если добавить к ООП функциональное программирование - то вы получите чуть более правильное ООП. Процедурное взаимодействие с внешним миром и функциональная логика с отсутствием состояния. По моему мнению это прекрасно. НО в PHP действительно чисто функциональные концепции пока трудно реализуемы. Но общие идеи осознать стоит. В особенности почему функциональное программирование является самой старой парадигмой (лямда исчисления придумали еще в 30-х годах, а первый функциональный язык появился во времена коболов и фортранов), а хайп вокруг только сейчас.
p.s. Вообще лично я не уверен что стоит заставлять людей изучать ООП. Они так или иначе придут к этому. Один мой знакомый пару лет назад пытался меня убедить что первый год разработчик должен разбираться исключительно со структурным программированием, а потом уже лесть в функциональщину и ООП. Я только спустя полтора года начал понимать что возможно он был прав.
Сергей Протько: в мире пхп без ооп далеко не уедешь. большая часть фреймворков и библиотек написаны объектно.
естественно никто не заставляет его, просто не знаю как он без этого может заниматься коммереской разработкой. понятно что без ноги например можно жить в современном обществе, но нормальной работы найти сложно (программистом разве что ;) ).
Юрий: большая часть фреймворков написано процедурно с классами для изоляции и управления зависимостями. Посмотрите на Yii - там от ООП только классы. Но свою задачу вполне выполняет.
Чистое ООП во фреймворках - нонсенс. Ну и повторюсь, что бы ваше ООП было лучше вам надо знать и структурное и функциональное программирование. Можно не знать про монады, но общая идея функциональщины должна быть понятна. Так же понятна как чем плохи глобальные переменные или статические свойства у классов (и когда на это можно наплевать и сделать).
Сергей Протько: Сергей, согласен с вами. особенно на счет уии, статик классы в пхп часто используются вместо функций из-за удобного автолоадинга. и да, народ видит "class" и думает что это ООП.
В своем ответе я немножко включил режим телепата, и подозреваю что ТС нашел где то список "путь джуна в пхп" и там был пункт про ООП. то есть автор как бы прошел пункты с циклами/ифами, функциями, массивами. теперь он хочет познать ООП, но для многих это вырождается в банальное знакомство с классами. что такое класс, как можно создать объект класса, уровни доступа к свойствам и методам, если повезет может быть и до наследования дойдут. да даже для того чтобы понимать потом код написанный процедурным стилем в статиках (yii) нужно с классами разобраться.
так вот ТС пошел гуглить что такое ООП и наткнулся что ООП как бы почти мертв...
мне показалось что вопрос был задан в этом ключе. прошу прощения (у ТС) если не правило понял.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.