Laravel @stack ve @push Direktifleri
@stack direktifi, belirlenen isimle bir alan oluşturmanızı sağlar. Böylece @push direktifini kullanarak diğer view'larınızda bu alana sayfaya özel içerikler ekleyebilirsiniz.
Örneğin sayfaya özel js, css ya da bir takım diğer kodları bu sayede sadece o sayfaya girince gösterebilirsiniz.
Layout sayfanızda bu örnekte benim ki layouts/index.blade.php şeklinde, <head> etiketimin içerisinde custom-head adında bir alan oluşturdım.
// layouts/index.blade.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>{{ config('app.name', 'Laravel') }}</title>
..
@stack('custom-head')
..
</head>
Ve artık alt view'larımda o sayfama özel bir css, js ya da herhangi bir kod ekleteceksem @push direktifini kullanabiliriz.
// users.blade.php
@extends('layout')
@push('custom-head')
<link href="{{ mix('css/users.css') }}">
@endpush
@section ve @yield direktiflerinden farklı olarak, bu direktifler ile birden fazla kez içerik ekleyebilirsiniz. Ancak @section ve @yield direktifleri bir sefere mahsus içerik ekletir. Ve ek olarak, genişleteceğiniz sayfayı
@extends direktifi ile belirlemeniz gerektiğini unutmayın.