для создания проекта на ларе? Или без сторонних паттернов не обойтись? (Ларавель учу, дошел до паттернов, мозговой штурм начался)
Да, он же его и реализует
Mvc это концепция разделения данных и логики. В текущих реалиях считай что абстрактный закон не дающий тебе писать рнр в html... Не более.
Хотел спросить, а вот если выводить в цикле что-то в html страницу на php - это норм? Или выводить какой-то блок html только по условию?
Да, обычно шаблонизаторы используются, но и нативные встречаются до сих пор. Циклы и условия это управляющие конструкции, а не бизнес-логика. Смысл минимизировать обработку и проучение данных и заниматься только отображением.
у всего должен быть баланс. вроде бы какой-то сложной логики нет, только простейшие математические операции, но это формирование цены и если где-то еще понадобится ее отобразить/использовать, то придется дублировать код. по итогу это и выглядит ужасно и порождает ошибки. самый лучший вариант шаблонизатора содержит if, foreach, echo, не более. могут применяться какие-то вызовы хелперов, может даже из классов, например {{ Storage::url($post->cover) }} хотя даже это можно вынести в какой-нить акцессор/геттер, $post->getCoverUrl()
Насколько хорошо написать логики в блейде?
логика в шаблонизаторе может быть только шаблонизатора. т.е. если тебе надо скрыть/показать кнопку. отобразить список, добавить тот или иной класс в тег, атрибут. т.е. все что связано с формирование отображения.
Но там не просто отображения, $total_price ...
так это пример, даже если закрыть глаза на то что там подсчет логики.. то это выглядит всё равно ужасно
можешь представить что это не калькуляция цены, а ширины блока, например. хоть это и касается отображения, всё равно не место в самой вьюхе. хотя простые какие-то калькуляции конечно имеют место быть: div style="width: $num * 2" или @php ($class = $count === 3 ? 'col-3' : 'col') @foreach () div class="{{ $class }}" т.е. то что максимально локально и не касается других вьюх даже, а только текущей.
Обсуждают сегодня