مارک پلاس

تکنولوژی نوین اینترنتی

ایجاد و استفاده از Partial Views در لاراول

دسته‌بندی‌ها

ایجاد و استفاده از Partial Views در لاراول
ایجاد و استفاده از Partial Views در لاراول

در لاراول، Partial Views (یا ویوهای جزئی) برای جداسازی بخش‌های قابل استفاده‌ی مجدد در فایل‌های Blade به کار می‌روند. این کار باعث می‌شود کد تمیزتر، قابل نگهداری‌تر و قابل استفاده مجدد باشد؛ مثلاً هدر، فوتر، منوی کناری یا کارت یک محصول.


✅ فصل ۱: تعریف Partial View

Partial View همان یک فایل Blade است که بخشی از رابط کاربری را شامل می‌شود، مثل:

bash
resources/views/partials/header.blade.php resources/views/partials/footer.blade.php resources/views/partials/sidebar.blade.php

Convention معمول این است که partialها در یک پوشه با نام partials قرار داده می‌شوند.


✅ فصل ۲: استفاده از Partial View

🔹 استفاده با @include

برای درج Partial View در فایل اصلی، از دستور @include استفاده می‌شود:

blade
<!-- resources/views/layouts/app.blade.php --> <html> <head> <title>My App</title> </head> <body> @include('partials.header') <main> @yield('content') </main> @include('partials.footer') </body> </html>

لاراول مسیر partials.header را به resources/views/partials/header.blade.php ترجمه می‌کند.


✅ فصل ۳: ارسال داده به Partial View

اگر بخواهید متغیر به Partial ارسال کنید، کافی است آرایه‌ای از داده‌ها به @include بدهید:

blade
@include('partials.alert', ['type' => 'success', 'message' => 'عملیات با موفقیت انجام شد!'])

و در داخل partial (مثلاً partials/alert.blade.php) می‌توانید از این متغیرها استفاده کنید:

blade
<div class="alert alert-{{ $type }}"> {{ $message }} </div>

✅ فصل ۴: جلوگیری از خطا با @includeIf و @includeWhen

🔹 @includeIf

اگر مطمئن نیستید که فایل وجود دارد:

blade
@includeIf('partials.stats')

🔹 @includeWhen

شامل کردن ویو فقط در صورتی که شرطی برقرار باشد:

blade
@includeWhen(Auth::check(), 'partials.user-menu', ['user' => Auth::user()])

✅ فصل ۵: مثال عملی

فایل: partials/nav.blade.php

blade
<nav> <ul> <li><a href="/">خانه</a></li> <li><a href="/about">درباره ما</a></li> <li><a href="/contact">تماس با ما</a></li> </ul> </nav>

استفاده در فایل اصلی:

blade
<!-- resources/views/layouts/app.blade.php --> <body> @include('partials.nav') @yield('content') </body>

✅ فصل ۶: Partialهای Blade داخل کامپوننت‌ها

اگر از Blade Component استفاده می‌کنید، می‌توانید به صورت مشابه partial در آن‌ها هم استفاده کنید:

blade
<!-- در فایل کامپوننت مثلا: components/card.blade.php --> <div class="card"> @include('partials.card-header') <div class="card-body"> {{ $slot }} </div> </div>

✅ نتیجه‌گیری

Partial Viewها یک ابزار قدرتمند برای ماژولار کردن کدهای Blade هستند. آن‌ها باعث:

  • کاهش تکرار کد

  • افزایش خوانایی

  • افزایش قابلیت نگهداری پروژه

می‌شوند. در پروژه‌های بزرگ، استفاده از Partialها توصیه می‌شود تا Viewهای شما ساختاریافته و تمیز باقی بمانند.

اگه خواستی مثال‌های پیچیده‌تری هم می‌تونم برات بسازم، مثلاً partialی برای کارت محصول یا جدول دیتا.

محتوای مرتبط

پست‌های مرتبط