Разделение приложения на слои
Ну это говнокод, бывают полезные касты
<div class="products">
@foreach($products as $product)
<div class="product">
<div class="product_img">
<img src="{{'storage/' . $product->image}}" alt="">
</div>
<h2 class="product_title">
{{$product->name}}
</h2>
<div class="product_text">
{{$product->description}}
</div>
<div class="product_inf">
<div class="product_price">
от {{$product->price}} ₽
</div>
<button class="product_btn active">
Выбрать
</button>
</div>
@include('components.popup')
</div>
@endforeach
</div>
DB::enableQueryLog();
$posts = Post::get();
foreach($posts as $post){
dump($post->reviews);
}
dd(DB::getQueryLog());Route::group(['middleware' => 'front'], function (){
});
class FrontMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
Post::addGlobalScope(new StatusScope);
Review::addGlobalScope(new StatusScope);
SomeMore::addGlobalScope(new StatusScope);
return $next($request);
}
}
Порушили mvc
Не порушили mvc
А теперь закроем тему mvc. View не должно содержать логику и прочее. Оно и не содержит - логика обработки обращения лежит себе в модели. По этому никаких нарушений mvc нет - это ваша фантазия. На каком нибудь голимом getLogicAttribute может висеть вагон логике. Но обращение во вью к $model->logic никоим образом не нарушает mvc. Ибо логика в модели. По этому завязывайте вы свои крики о том что mvc порушили
Ну для апи есть resource из которых вообщем то можно наколхозить так называемые view models но из коробки такой возможности нет