blade template در laravel

blade یک موتور قدرتمند برای قالب در لاراول فراهم میکند.
بر خلاف سایر قالب های php شما را ر استفاده از کد های php در ویو محدود نمی کند.
در واقع کلیه کد های blade در کدهای php کامپایل و به صورت کش ذخیره می شوند(تا زمانی که تغییر کنند.)
فایل های blade در فولدر resources/views ذخیره می شوند و دارای پسوند .blade.php هستند.
دوتا ویژگی اصلی blade استفاده از inheritance و section هست.

inheritance رو در مطلب “کار با قالب layout در لاراول “ آموزش دادیم.
به طور کلی به این معناست که شما می توانید یک قالب مادر داشته باشین(مسترپیج masterpage)
و سایر صفحاتتون از این قالب ارث ببرند.

در مورد sections اشاره ی کوچکی در لینک فوق داده شد . به این معنی است که:
شما می توانید در قالب های مستر بخش هایی را ایجاد کنید و با توجه به نیاز اون قسمت های را در سایر صفحات و با اطلاعات دلخواه پر نمایید(نمایش دهید)

آشنایی با directives (دستورالعمل ها)

به @section و @yield دستورالعمل (directives ) گفته می شود.
به کد زیر را توجه کنید:

<!-- Stored in resources/views/layouts/masterpage.blade.php -->

<html>
    <head>
        <title>نام سایت - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
        ساید بار مستر پیج

        @show

        <div class="container">
            @yield('content')
        </div>
    </body>
</html>

دستور section یک قسمت از محتوا را تعریف می کند.
دستور yield برای نمایش محتویات بخش خاص استفاده می شود.

<!-- Stored in resources/views/article.blade.php -->

@extends('layouts.masterpage')

@section('title', 'عنوان دلخواه')

@section('sidebar')
    @parent

    <p>ساید بار  مثلا محل قرار گیری تبلیغات</p>
@endsection

@section('content')
    <p>محتوای سایت مثلا محل قرارگیری لیست مقالات .</p>
@endsection

به وسیله دستور extends ما مستر پیج را صدا میزنیم.: چون در فولدر layouts قرار دارد نام فولدر را قبل آن مینویسیم

به وسیله دستور section(‘title’, ‘عنوان دلخواه’) دستور yield(‘title’) در مسترپیج را مقدار دهی می کنیم.
همچنین می توانیم این مورد را به این شکل مقدار دهی کنیم:

@section('title')
    عنوان دلخواه
@endsection

در دستور section(‘sidebar’) که با endsection به پایان می رسد : محتوای دلخواه را نمایش می دهیم
تنها نکته این است که در صورتی که از دستور parent استفاده کنیم مقداری که در مسترپیج قرار داده شده را نیز نمایش می دهد
در صورتی که استفاده نکنیم آن را نمایش نمی دهد.

نکته ای که در تعریف section در مستر پیج و ویو داریم این است که
زمانی که شما از دستور show استفاده می کنید دستور show یک بخش را تعریف و بلافاصله آن را اجرا می کند.
و هنگامی که شما از endsection استفاده می کنید تنها یک بخش را تعریف می کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *