مهرداد سیفی
مهرداد سیفی
خواندن ۳ دقیقه·۶ سال پیش

نکات کوتاه در مورد Blade در لاراول

لاراول برای بخش view  که سه بخش MVC خیلی تاکید داره که از Blade استفاده کنیم..خیلی هم خوبه…بذارید یکم باهم بررسی کنیم چرا ما هم از blade  و امکاناتاش استفاده کنیم خوبه

من چندتا از خوبی های blade  رو می نویسم که خودم استفاده می کنم

۱-رعایت اصول MVC

اولین بار که با این دوستمون آشنا شدم با خودم گفتم ملت چه بیکار هستنا…کم کم که پروژه ها بزرگ تر شد حرفمو پس گرفتم..MVC به قول اهل دین و تقوا مستحب ه..یعنی اگر استفاده هم نکنی چیزی نمیشه ولی استفاده ازش خیلی کمک می کنه ..به نظرم زمانی به داد آدم می رسه که باگ رخ بده اون موقع راحت می ری سراغ اصل ماجرا..از مزایا دیگه شم اینه که توسعه پروژه راحت تر میشه

۴-قالب سازی

با blade  می شه مثلا فوتر و هدر و ثابت گرفت در همه صفحه ها به تغییرات مقادیر دیگه پرداخت

برای این کار به کد زیر دقت کنید

به طور مثال من یک فایل می سازم به اسم   layout.blade.php

این فایل قالب اصلی سایت منو تشکیل می ده.

<html> <head> <title>App Name </title> </head> <body> <div class="container"> @yield('content') </div> </body> </html>

به قسمت

@yield('content')

دقت کنید این بخش همان بخشی است که دیگر صفحه هات باید پر کنند.

@extends('layouts.app') @section('content') This is my body content. @endsection

الان اول فایل می گیم از کدوم قالب استفاده کن بعد هم می گیم چی جای

@yield('content')

بذاره

۳-کمک های لاراول

در داخل Blade یکسری تکه کد ها هست که به ما خیلی کمک می کنه که کد هامون تمیز تر باشه و مقداری در View  تغییرات بدیم..درسته به مقداری اصل MVC رو مورد اذیت و آزار قرار می دهد ولی اگر نباشه خودمون اذیت می شیم

من تعدادی از مهم ترین این کد ها رو به شما معرفی میکنم.

۱- اول می گیم که چطور یک روت یک ویو را برگردونه

Route::get('/showview', function () { return view('child'); });

هر کس بره آدرس
example.com/showview

اون ویو رو نمایش می ده

۲-نمایش و استفاده از متغیر پاس داده شده از کنترلر

فکر کنید شما یک متغیر از کنترلر به ویو خودتان پاس می دهید برای نمایش اون باید از کد همانند زیر استفاده کنید
(متغیر ارسالی ما slot) است

<div class="alert alert-danger"> {{ $slot }} </div>

۳-عبارت های شرطی
برای استفاده از if در blade خودمان

@if (count($records) === 1) I have one record! @elseif (count($records) === 1) I have multiple records! @else I don't have any records! @endif

۴-چک کردن متغیر ها
چک می کنیم متغیر تعریف شده است یا خیر

@isset($records) // $records is defined and is not null... @endisset @empty($records) // $records is "empty"... @endempty

۵-استفاده از switch
برای استفاده از switch

@switch($i) @case(1) First case... @break @case(2) Second case... @break @default Default case... @endswitch

علاوه بر اظهارات شرطی، Blade دستورالعمل های ساده ای برای کار با ساختار حلقه PHP فراهم می کند.هر کدام از این ها مثل php هستند

@for ($i = 0; $i < 10; $i++) The current value is {{ $i }} @endfor @foreach ($users as $user) <p>This is user {{ $user->id }}</p> @endforeach @forelse ($users as $user) <li>{{ $user->name }}</li> @empty <p>No users</p> @endforelse @while (true) <p>I'm looping forever.</p> @endwhile

یکی دیگه از نکات مثبت blade متغیر حلقه و یا Loop Variable است به کد زیر دقت کنید

@foreach ($users as $user) @foreach ($user->posts as $post) @if ($loop->parent->first) This is first iteration of the parent loop. @endif @endforeach @endforeach

loop یک متغیر حلقه است که یکسری پراپرتی داره که الان معرفی میکنم

$loop->indexشماره ایندکس حال حلقه رو میدهد

$loop->iterationتکرار حلقه تا الان رو می گه

$loop->remainingتعداد تکراری که مانده رو میگه

$loop->countتعداد کل ارایه رو می گه

$loop->firstاولین عضو رو می گه

$loop->lastاخرین عضو ر میگه

این ها مهم ترین ها بودند ولی blade به همین جا ختم نمیشه و مسایلی مثل احراز هویت و.. هم داره که میشه بررسی کرد

منبع

برنامه نویسیلاراولbladelaravelphp
.علاقه مند به توسعه اپلیکیشن ها موبایل و سمت سرور..عاشق لاراول
شاید از این پست‌ها خوشتان بیاید