فهرست:

لاراول از موتور Blade که یک موتور وسوسه انگیز برای طراحی منحصر است استفاده می کند، طراحی پیاده شده در این موتور به نحوی است که می تواند توسط دیگر View ها فراخوانده شود و در آن ها نیز مورد استفاده قرار گیرد. وقتی موتور Blade با دیگر موتورهای مشابه دیگر مقایسه می شود، از لحاظ ویژگی های زیر بی نظیر است:

  • استفاده از کد PHP در View ها را محدود نمی کند.
  • View های طراحی شده در Blade، تا قبل از ایجاد تغییرات جدید بصورت کامپایل شده و کش شده مورد استفاده قرار می گیرند.

فایل های مورد استفاده در این بخش در بخش resources/views قرار می گیرند.

مراحل ایجاد طرح بندی قالب Blade

برای ایجاد یک قالب Blade باید مراحل زیر را مرحله به مرحله انجام دهید. مرحله اول:

  • داخل پوشه resources/views یک پوشه به نام layout ایجاد کنید. ما از این پوشه برای ذخیره همه طرح ها با هم استفاده می کنیم.
  • یک نام فایل master.blade.php ایجاد کنید که کد زیر را به همراه داشته باشد.

[pastacode lang=”markup” manual=”%3Chtml%3E%0A%20%20%20%3Chead%3E%0A%20%20%20%20%20%20%3Ctitle%3EDemoLaravel%20-%20%40yield(‘title’)%3C%2Ftitle%3E%0A%20%20%20%3C%2Fhead%3E%0A%20%20%20%3Cbody%3E%0A%20%20%20%20%20%20%40yield(‘content’)%0A%20%20%20%3C%2Fbody%3E%0A%3C%2Fhtml%3E” message=”master.blade.php” highlight=”” provider=”manual”/]

مرحله دوم: در این مرحله، باید طرح را توسعه دهیم. توسعه یک طرح شامل تعریف عناصر کوچکتر طرح و فراخوانی آنها در طرح اصلی است. لاراول از دستورالعمل @extends برای تعریف عناصر کوچکتر استفاده می کند. هنگامی که یک طرح را توسعه می دهید، به نکات زیر توجه داشته باشید:

  • لاراول محتوا ایجاد شده برای View ها را در Blade Layout به روشی منحصر به فرد تزریق می کند.
  • بخشهای مختلف View به عنوان عناصر کوچک ایجاد می شوند.
  • هر یک از عناصر کوچک در فرمتی مشابه child.blade.php در پوشه layout تعریف و نام گذاری می شوند.

موارد مورد اشاره در بالا در مثال زیر قابل بررسی می باشد.

[pastacode lang=”markup” manual=”%40extends(‘layouts.app’)%0A%40section(‘title’%2C%20’Uclass.ir%20Title’)%0A%40section(‘sidebar’)%0A%20%20%20%40parent%0A%3Cp%3EThis%20refers%20to%20the%20master%20sidebar.%3C%2Fp%3E%0A%40endsection%0A%40section(‘content’)%0A%3Cp%3EThis%20is%20my%20body%20content.%3C%2Fp%3E%0A%40endsection” message=”” highlight=”” provider=”manual”/]