TGViewer
| کانال توسعه‌دهندگان لاراول | | کانال توسعه‌دهندگان لاراول | @developixlaravel · 1.54K subscribers
Post #69 805
فصل سه - Views

بخش دوم - آشنایی با دستورات Blade - قسمت دوم


1- دستور include:
این دستور برای درج یک ویو (view) دیگر در ویوی فعلی استفاده می‌شود، و محتویات یک فایل را درون فایل دیگر قرار می دهد.
<body>
@include('partials.header')
</body>


اگر فایل partials/header.blade.php وجود داشته باشد، محتویات آن در محل استفاده از @include درج خواهد شد.

2- دستور includeIf:
این دستور همانند @include عمل می‌کند، با این تفاوت که اگر ویو مورد نظر وجود نداشته باشد، خطایی رخ نمی‌دهد و دستور به سادگی نادیده گرفته می‌شود.
<body>
@includeIf('partials.header')
</body>


3- دستور includeWhen:
این دستور برای درج یک ویو در شرایط خاص استفاده می‌شود. این دستور دو پارامتر می‌گیرد: یک شرط و نام ویو.
// $showHeader = true;
<body>
@includeWhen($showHeader, 'partials.header')
</body>


4- دستور includeUnless:
این دستور برعکس @includeWhen عمل می‌کند، یعنی ویو را زمانی درج می‌کند که شرط برقرار نباشد.
// $hideHeader = false;
<body>
@includeUnless($hideHeader, 'partials.header')
</body>


5- دستور includeFirst:
این دستور برای درج اولین ویو موجود در لیست ویوهای داده شده استفاده می‌شود. این دستور یک آرایه از نام ویوها را به عنوان پارامتر دریافت می‌کند.
<body>
@includeFirst(['custom.header', 'partials.header'])
</body>


در این مثال، اگر ویوی custom.header وجود داشته باشد، درج می‌شود و اگر وجود نداشته باشد، ویوی partials.header درج می‌شود.

6- دستور section:
این دستور برای تعریف یک بخش (section) از قالب استفاده می‌شود که می‌تواند در قالب اصلی (layout) یا قالب‌های فرزند مورد استفاده قرار گیرد.
@section('content')
<p>This is the content section.</p>
@endsection


این دستور به تنهایی کاربرد ندارد و نیازمند دستور yield نیز می باشد(مورد بعدی).


7- دستور yield
این دستور برای نمایش محتوای یک بخش در قالب اصلی (layout) استفاده می‌شود.
<body>
@yield('content')
</body>


این دستور سکشن content که بالاتر تعریف کرده ایم را نمایش می دهد.

8- دستور sectionMissing:
این دستور بررسی می‌کند که آیا یک section در ویو فعلی تعریف نشده است. اگر آن بخش تعریف نشده باشد، کد داخل sectionMissing اجرا می‌شود. و درصورتی که تعریف شده باشد محتوای sectionMissing نادیده گرفته می شود و محتوای section نمایش داده می شود.
@sectionMissing('sidebar')
<div class="sidebar">
<p>This is the default sidebar content.</p>
</div>
@endsectionMissing


9- دستور hasSection:
این دستور بررسی می‌کند که آیا یک section مشخص در ویو فعلی تعریف شده است یا نه. این دستور به شما امکان می‌دهد که بر اساس وجود یا عدم وجود یک بخش، رفتار خاصی را در قالب خود اعمال کنید.
@hasSection('navigation')
<div class="pull-right">
@yield('navigation')
</div>
@endif


10- دستور extends:
این دستور برای تعریف اینکه یک ویو از کدام قالب (layout) ارث‌بری می‌کند استفاده می‌شود.
// resources/views/welcome.blade.php
@extends('layouts.app') //layouts/app.blade.php

@section('header')
<h1>Header Section in Child View</h1>
@endsection


این دستور برای ارث‌بری از قالب اصلی استفاده شده است. سپس با استفاده از دستورات section، محتوای هر بخش در قالب اصلی که از آن ارث بری شده جایگذاری شده است.
در واقع یک فایل مادر وجود دارد که در فایل های فرزند extends می شود و گسترش می یابد.
نمایی از فایل layouts/app.blade.php یا همان فایل مادر:
// resources/views/layouts/app.blade.php
<body>
<header>
@yield('header')
</header>
</body>


همانطور که مشخص است، yield سکشن header در فایل مادر انجام شده در صورتی که سکشن header در فایل فرزند تعریف شده و با استفاده از extends فایل مادر در فایل فرزند، هردو فایل به هم مرتبط شده اند.

11- دستور show:
این دستور برای پایان دادن به یک بخش و همزمان نمایش محتوای آن استفاده می‌شود. این دستور معمولاً زمانی استفاده می‌شود که بخشی از قالب بخواهد محتوای بخش خود را قبل از پایان قالب فعلی نمایش دهد.
@section('sidebar')
<p>This is the sidebar.</p>
@show


🔖 #Laravel, #PHP, #لاراول, #فصل_۳

👤 AmirHossein

💎 Channel: @DevelopixLaravel
  • ❤ 6
  • 👍 2
  • 🔥 2
More from @developixlaravel
  1. Oct 1, 2026روابط پایگاه داده چند ریختی یا Eloquent Polymorphic در لاراول - قسمت اول در لاراول، روابط…
  2. Sep 30, 2026مدیریت همزمانی و قفل‌گذاری روی پردازش‌ها در لاراول (Laravel Atomic Locks) در بخش چهارم از…
  3. Sep 26, 2026🔥 پکیج: ورود با حساب‌های دیگر؛ Socialite برای اضافه‌کردن ورود با حساب‌های دیگر به پروژه ل…
  4. Sep 25, 2026🔒 فقط داده‌های تأییدشده را ذخیره کن وقتی یک فرم ویرایش پروفایل داری، ممکن است کلاینت علاو…
  5. Sep 20, 2026حفاظت از پردازش ها با Laravel Rate Limiter بخش سوم - پیکربندی در قسمت سوم از مجموعه آموزش…
  6. Sep 16, 2026🚀 &rlm;LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →