Доброго вечера! У symfony есть замечательная книга "Fast Track" в которой наглядно шаг за шагом показано построение приложений и практический смысл symfony.
Сейчас у меня проджект на laravel и не могу найти на него что то похожее, getting started у него нето что то я ищу.
Подскажите плиз книги или ресурсы похожие на "Fast Track"
Хорошая книга, особенно после Симфони - https://github.com/adelf/acwa_book_ru
Последних ништяков в ней нет, но зато показано как побороть те кривые дорожки, которыми ходит Лара чтобы вызывать вау-эффект за счет граблей в будущем.
NubasLol, чел видимо эволюционировал в процессе написания книги. От return false к firstOrfail. В следующих частях может findOrFail будет или даже model Binding)
NubasLol, суть в написании сервисов. просмотрел по верхам mvc с роутами и думает, что это весь Ларавел. Поэтому и возится со своими велосипедами как со спасательных кругом. Хотя если функционал Лары юзать у тебя и так контроллеры будут чистые.
Нужно смотреть на проект, и писать по ситуации. Но вот в этой книге много хороших практик, даже в открыве от ларавель. Фреймворк должен быть инструмент.
Но тут уже зависит от проекта, согласен, что много сайтов не требуют выноса логики, абстрагирования от фреймворка. Но чем больше и сложнее проект, тем больше времени нужно уделять архитектуре.
У меня вот был пример недавно, выпало делать проект на го, сначала я взял один фреймворк, начал делать тна нем, потом понял что он не оч подходит взял второй, потом третий. Но так как вся логика была абстрагирована, смена занимала не более часа
Ну не отрицаю, что у самого на ларе много проектов, где код просто в контроллере и никаких проблем не было с этим, так как сдал-забыл, просто ввод новости, прием формы, че там мудрить
NubasLol, проблема в том, что кроме сервисов ничего не юзают. Я такое постоянно вижу. mvc + свои сервисы. А у Лары куча своих сервисов. Пока валидацию, политики, компоненты, эвенты, джобы, обсерверы пройдешь у тебя выносить будет нечего. А если что-то останется то уже создавай сервис. Я в контроллерах часто оставляю небольшой код т.к. сервис для одного сейва это бред и лишняя прослойка.
jazzus, так ведь специально в книге пишу, что если сложность небольшая и там нужен только save(), то никакого смысла строить лишние абстракции не надо. На каждой странице что-ли это написать...
"Примеры этой книги никогда не будут идеальными. Я могу назвать какой-то код «корректным» и найти кучу ошибок в нем в следующей главе."
это важно, именно эволюция. я нигде не стараюсь говорить - пишите так и будет счастье. Всегда пишу "вот в такой то ситуации - это норм, но в другой ситуации при усложнении проекта могут быть проблемы, тогда можно делать так-то". пытаюсь найти проблемы и их решения. И чтобы читатель тоже понял.
Зачем фреймворку книга? Это не язык программирования и не проектирование архитектуры. Набор взаимосвязанных утилит в готовой структуре. Максимум будут личные велосипеды или пересказ документации. В обоих случаях бесполезно.
Затем, что фремворк это фактически второй язык, зачастую более сложный. И узнать о его возможностях лучше из книги.
Если посмотреть на вопросы по тегу ларавель, то будет видно, что большинство пользователей как раз такие - книг не читают, используют как готовую структуру для своего привычного говнокода.
Ипатьев, говнокод пишут как раз после изучения чужих велосипедов. Начитаются бреда с getModel и потом не знают, как это обслуживать. Бестпрактика это примеры из доки, а если совсем непонятно как это работает то значит непонятно как работают вебприложения и фреймворки в принципе и тогда уже нужно читать об этом.