Ответы пользователя по тегу PHP
  • Что прочитать по ООП и паттернам для веб-разработки на PHP?

    @gerashenko
    Тут сначала надо разобраться, что вам нужно, паттерны понять или суть ооп в целом.

    В пхп ооп на практике в большинстве случаев используется через одно место, в большинстве случаев все скатывается к файлам с кучей функий или методов, короче процедурщина. Как я понял вам близок такой стиль, но на большом проекте этот код поддерживать, масштабировать и вообще что-либо с ним делать сущий ад, это неструктурированная каша. Пхп позволяет писать эту кашу, и потому его так любят вначале, а потом ненавидят в конце. Ооп лучше рассматривать отдельно, а потом смотреть как оно используется в пхп в чистов виде типа Symfony и адаптированном под реалии php типа Laravel. Комбинация функционального и ооп подхода в пхп - это идеальный баланс, но чтобы его держать, нужно видеть плюсы и минусы обоих подходов.

    Laravel хороший фреймворк, но пользоваться им не умеют, он не заставляет писать правильно, в итоге получается очередная каша, та же процедурщина, но теперь размазанная по моделям контроллерам и папкам без какого либо намека на хорошую структуру.

    Symfony жесток к новичкам, ломает мозг и не дает приспособиться и писать как раньше, но теперь называть это ооп.

    В вашем случае вам нужно просто начать с азов того, что такое ооп. На примерах типа транспортное средство это абстрактный класс, а автомобиль и самолет потомки, а интерфейс двигаться по разному в них реализуется, но надо помнить что эта детская на первый взгляд чушь отлично работает в программных сущностях, в частности для веба например вы пишете парсер торговой площадки, у вас есть абстрактный класс торговой площадки и конкретные реализации (amazon, ebay), который хранят какие-то атрибуты, а еще вы хотите, чтобы эти объекты можно было сохранять в хранилище, но хранилище сами не хотите писать, а берете готовое, у него есть метод storable, и вы реализуете этот метод в этих площадках, и вот у вас уже площадки могут сохраняться. Короче как вы видите я не особо старался сделать хороший ответ, но суть ооп в том, что код становится похожим на детальки конструктора, которые начинают состыковываться друг с другом. Никакого выигрыша в производительности, только структура, универсальность, масштабируемость.

    Извиняюсь за ошибки, с телефона неудобно писать.
    Ответ написан
    Комментировать