перешел с Laravel и Twig после Blade ощущается каким-то устаревшим, особенно из-за отсутствия компонентов, нельзя использовать такой вот удобный код:
<x-form route="login">
<x-input-text
name="login"
required
autofocus
autocomplete="username"
:label="__('Введите логин')"
:placeholder="__('Логин')"
/>
...
<x-form/>
Есть добавляющий поддержку компонентов пакет https://github.com/giorgiopogliani/twig-components но он не на 100% полный и генерируемый им код не очень оптимален, поэтому думаю лучше использовать полноценный Blade
Если проект позволяет не тянуть блейд в симфони из-за каких-то особенностей или бизнес потребностей, то лучше не надо. Твиг кажется устаревшим, потому что он фокусируется на чистой шаблонизации и не стремится упростить генерацию кода и не провоцировать добавление туда скрытой логики. Если фронтенд будет насыщенным по бизнес логике, то стоит его выделить в отдельный проект, а в симфони делать только апи под него. TLDR: можно, но не стоит, если есть ресурсы и проект должен долго жить
Или вернутся в ларавель
Я ни блейд ни твиг не использую с 2013 года.
В этом основное отличие ларавеля от симфони: В ларавеле есть 100500 улучшайзеров, кодогенераторов и прочьего, но тебе это всё придётся изучить. В симфе тебе нужно изучить только принципы ООП, но писать придётся руками. В итоге зная ларку ты можешь быстро наклепать мвпшечку, но её будет сложно из-за всей магии и автогенерации раздебаживать и масштабировать. В симфе же "по быреньку накидать" гораздо сложнее, зато потом намного проще с дебагом.
А на скільки цей код простіший html коду форми? Насправді там є можливість генерувати поля форми і перевизначати шаблони під поля. Можно ось так робити <input name="{{ field_name(form.username) }}" value="{{ field_value(form.username) }}" placeholder="{{ field_label(form.username) }}" class="form-control" > і тд https://symfony.com/doc/current/form/form_customization.html
Я б не назвал его сильно проще чистого html, просто удобнее, меньше времени тратишь на разметку с готовыми компонентами, сделал раз компоненты и потом используешь их, не нужно каждый раз указывать классы и т.п. в приведенном примере так вообще происходит автоматическое добавление <label>. Даже банально читать код удобнее, потому что сразу видишь что из себя представляет страница, а не привычное html излишество, которое формирует стиль страницы. Еще добавить то, что это хобби проект и я пишу все сам, не нужно голову забивать лишней разметкой
Не вариант, Laravel теперь буду использовать только если нужно что-то простое сделать и оно не предполагает дальнейшего постоянного развития, в инных случаях мне Symfony больше нравиться, отсутствие Blade подобных компонентов слишком малый фактор, чтоб повлиять на это
Обсуждают сегодня