نکات کوتاه در مورد 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 به همین جا ختم نمیشه و مسایلی مثل احراز هویت و.. هم داره که میشه بررسی کردمنبع