درس 13 - آموزش قالب بندی با Blade در لاراول
آموزش کار با Blade در فریمورک لاراول

آموزش تمپلیت انجین Blade در فریمورک لاراول

مفهوم قالب سازی با Blade در فریمورک لاراول از نسخه ی 5.1 فریمورک لاراول معرفی شد. این تمپلیت انجین به توسعه دهندگان لاراول کمک میکند تا layout های مختلف خود را به سادگی بسازند.blade باعث صرفه جویی در زمان میشود چون اجازه میدهد فایل های قالب طراحی شده در قالب ها و قسمت های دیگر مجددا استفاده شود و یک طراحی و ساختار مقاومی را به اپلیکیشن لاراولی شما میبخشد.

اگر Blade را با دیگر تمپلیت انجین ها مقایسه کنید Blade دارای ویژگی های عالی زیر است.

  • تمپلیت انجین Blade برنامه نویس را محدود نمیکند و میتواند کدهای PHP را در فایل های view بنویسد.
  • view های بوجود آمده توسط Blade ، تا زمانی که ویرایش شود کامپایل و کش میشوند.

در تصویر زیر ساختار کلی پوشه بندی فریمورک لاراول را مشاهده میکنید.

آموزش تمپلیت انجین Blade در فریمورک لاراول

همانطور که در تصویر بالا میبینید ویو های فریمورک لاراول در مسیر resources/views قرار میگیرند و بصورت پیشفرض یک فایل view از نوع blade به نام welcome.blade.php است.

توجه کنید که فایل های blade با فرمت blade.php در همین مسیر قرار میگیرد و ممکن است بخشی از انها درون پوشه های مختلفی در همین مسیر دسته بندی شوند.

 

قدم های ساختن یک قالب Blade در فریمورک لاراول

برای ساختن یک قالب با استفاده از Blade در فریمورک لاراول قدم های زیر را طی کنید.

قدم 1

  • یک پوشه در مسیر resources/views  برای نگهداری view های blade خود بسازید.ما از این مسیر برای نگهداری تمامی فایل های view استفاده خواهیم کرد.
  • یک فایل جدیدی به نام master.blade.php بسازید و کدهای زیر را درون آن بنویسید.
    <html>
       <head>
          <title>DemoLaravel - @yield('title')</title>
       </head>
       <body>
          @yield('content')
       </body>
    </html>

قدم 2 

در این قدم شما باید عمل extend کردن با استفاده از Blade را یاد بگیرید.برای اینکه یک فایل layout را بتوانید گسترش دهید و قطعات درونی بعنوان فایل های فرزند داشته باشد باید از متود extend استفاده کنید.

برای تعریف عناصر فرزند درون یک فایل layout از @extends استفاده میشود.

مثال زیر برای استفاده از extends میباشد.

@extends('layouts.app')
@section('title', 'Page Title')
@section('sidebar')
   @parent
<p>This refers to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection

قدم 3 

توجه داشته باشید که شما میتوانید بخش های مختلف یک قالب لاراول را بصورت تکه های فرزند در نظر بگیرید که به قالب اصلی متصل میشود.

تصویر زیر را در نظر داشته باشید. بخش هایی که نشان داده شده است لینک ها هستند و این بخش به تنهایی میتواند درون یک فایل فرزند دیگر تعریف شود و بعدا توسط لاراول بارها استفاده شود.

 

آموزش قالب Blade در فریمورک Laravel

اتمام درس