برنامه نویسی با محبوب ترین فریم ورک پی اچ پی #5

برنامه نویسی با محبوب ترین فریم ورک پی اچ پی #5
در آموزش های قبلی با روتینگ، فیلترها و کنترلها در لاراول آشنا شدیم . در این بخش قصد داریم در مورد blade که یک موتور template در لاراول هست بپردازیم. با ما همراه باشید .
خرید شارژ ایرانسل
خرید شارژ ایرانسل، همراه اول، رایتل | خرید بسته های اینترنت ایرانسل | etore.ir
ردیاب
ردیاب آهنربایی پیام بهترین وسیله برای ردیابی وسیله نقلیه 09121394944
ردیاب
ردیاب آهنربایی پیام بهترین وسیله برای ردیابی وسیله نقلیه 09121394944
خودتان را اینجا معرفی کنید

چرا باید از blade template استفاده نمائیم؟

همانطور که می دانید بخش هایی از یک سیستم و یا سایت در کل برنامه یکسان هستند و در تمامی این صفحات تکرار می شوند مانند header و footer سایت. خب برای جلوگیری از تکرار و همچنین تغییر پذیری و توسعه پذیری ساده این بخش ها کافیست از یک template برای این بخش ها استفاده کنید.

توجه!!

در لاراول درصورتی که بخواهید از template استفاده کنید می بایست پسوند فایل ها را با .blade.php ذخیره نمائید.

محل نگهداری bladeها

محل نگهداری blade ها در دایرکتوری resources/view ذخیره می شوند. بهتر است یک فولدر با نام layouts جهت ذخیره فایلهای template ایجاد کرده و فایلها را در آن ذخیره نمائید.

یک blade ساده

<html>
    <head>
        <title>App Name - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
            This is the master sidebar.
        @show
         <div class="container">
            @yield('content')
        </div>
    </body>
</html>
همانطور که در مثال بالا می بینید در blade ها اکثراً از @  برای ثبت دستورات استفاده می شود.
همچنین از @yield می توانیم بخشی را درفایل template ایجاد کنیم که بعداً در فایلی که از template استفاده می شود و از آن ارث می برد، بتوانیم مطالب متفاوت قرار دهیم. باتوجه به مثال فوق ما می توانیم برای هر صفحه یک title با استفاده از @yield(‘title’)  و برای ثبت محتوای صفحه از @yield(‘content’) استفاده نمائیم.

استفاده از یک blade template

@extends('layouts.master')
@section('title', 'Page Title')
@section('sidebar')
    @parent
This is appended to the master sidebar.
@endsection @section('content')
This is my body content.
@endsection
برای استفاده از یک blade template ابتدا با استفاده از دستور @extends(‘layouts.master’) فایل template که در داخل دایرکتوری resources/view/layouts ذخیره شده را به صفحه خود اضافه کرده و سپس با استفاده از دستور @section(‘title’) برای اضافه کردن عنوان صفحه و همچنین برای نوشتن محتوای صفحات از دستور @section(‘content’) استفاده می کنیم. فراموش نکنید که در پایان می بایست از دستور @endsection استفاده نمائید.

نمایش اطلاعات در blade

با مثال زیر توجه کنید:
Route::get('greeting', function () {

    return view('welcome', ['name' => ' majidOnline ']);

});
درصورتی که برنامه greeting رو از طریق url دریافت نماید، فایل welcome نمایش داده خواهد شد. البته متغیر name با مقدار majidOnline به فایل welcome ارسال می گردد. حال برای چاپ اطلاعات از دستورات زیر استفاده می شود:
Hello, {{ $name }}.
{{ isset($name) ? $name : 'Default' }}                 {{ $name or 'Default' }}
Hello, {!! $name !!}.
از دستور اول جهت چاپ متغیر name استفاده می شود.
از دستورات دوم برای چاپ متغیر name استفاده می شود البته با این تفاوت که درصورت مقدار نداشتن متغییر مذکور نام پیش فرض چاپ می گردد.
و از دستور سوم برای جلوگیری از escape شدن داده ها استفاده می شود.

ساختار کنترلی:

در blade ها برای استفاده از دستورات if  به شکل زیر استفاده میشود:
برای شرط های صحیح از دستورات
@if (count($records) === 1)
    I have one record!
@elseif (count($records) > 1)
    I have multiple records!
@else
    I don't have any records!
@endif
و برای شرط های نادرست از دستورات
@unless (Auth::check())
    You are not signed in.
@endunless
استفاده می شود.

حلقه ها:

همچنین جهت استفاده از حلقه ها از دستورات زیر استفاده میشود:
@for ($i = 0; $i < 10; $i++)
    The current value is {{ $i }}
@endfor
@foreach ($users as $user)
    This is user {{ $user->id }}
@endforeach
@forelse ($users as $user)
    {{ $user->name }}
@empty
    No users
@endforelse
@while (true)
    I'm looping forever
@endwhile

اضافه کردن یک فایل در blade:

برای اضافه کردن فایل در یک blade روش زیر استفاده می شود:
@include('shared.errors')
همچنین برای اضافه کردن یک فایل همراه با متغیر هم از دستور زیر استفاده می شود:
@include('view.name', ['some' => 'data'])

توضیحات در blade :

برای اضافه کردن توضیحات و یا کامنت در blade ها به صورت زیر عمل کنید:
{{-- This comment will not be in the rendered HTML --}} 
در آموزش بعدی با معرفی یک پکیج بسیار عالی جهت استفاده از تگ های  html در blade ها همراه ما باشید.

محمد دارای مدرک کارشناسی نرم افزار است و به عنوان توسعه‌دهنده نرم‌افزار وب و طراح رابط کاربری در دپارتمان تکنولوژی اطلاعات سازمان خدمات پس از فروش سایپا مشغول بکار می باشد. از سال 88 برنامه نویسی را با زبانهای گروه C شروع کرده و از سال 91 به سمت برنامه نویسی و طراحی وب رفت. وی هم اکنون درحال توسعه اپلیکیشن های موبایل با زبان swift است.

نظرات و سوالات کاربران

هنوز دیدگاه و یا سوالی ارسال نشده است.
هم اکنون شما اولین دیدگاه را ارسال کنید.