فهرست:
لاراول از موتور 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”/]