Friday, 17 August 2018

Blade Templates Laravel 5.6

Blade adalah templating yang sederhana namun powerfull. Blade tidak membatasi Anda untuk menggunakan kode PHP biasa dalam view Anda.File view blade menggunakan ekstensi .blade.php dan biasanya disimpan di direktori resources/views.

Membat Layout
Duamanfaat utama menggunakan Blade adalah Inherintace dan sections template. Untuk memulai, mari kita lihat contoh sederhana. Pertama,kita akan memeriksa tata letak halaman "master". Karena sebagian besar aplikasi web mempertahankan layout yang sama di berbagai halaman, akan lebih mudah untuk menentukan layout ini sebagai singgle view Blade:

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

Save dengan nama app.blade.php
letakan di directory resource/views/layouts/app.blade.php (kalau belum ada directory layouts buat sendiri directory layouts) Seperti yang Anda lihat, file ini berisi mark-up HTML. Namun, perhatikan @section dan @yield. Directives @section, mendefinisikan bagian konten, sedangkan direcives @yield digunakan untuk menampilkan isi bagian yang diberikan. Sekarang kita telah mendefinisikan layout untuk aplikasi kita, mari kita mendefinisikan child page yang inherits layout.

Extending A Layout
Saat mendefinisikan child view, gunakan Blade directive @extends untuk menentukan layout mana yang seharusnya childview "inherit". view yang extend Blade layout dapat inject konten ke bagian layout menggunakan directive @section. Ingat, seperti yang terlihat pada contoh di atas, isi dari bagian ini akan ditampilkan dalam layout menggunakan @yield:

@extends('layouts.app')
@section('sidebar')
    @parent
    <p>This is appended to the master sidebar.</p>
@endsection
@section('content')
    <p>This is my body content.</p>
@endsection

Save dengan nama post.blade.php
letakan di directory resource/view/post.blade.php

 

Control Structures
Selain template inheritance dan menampilkan data, Blade juga menyediakan cara pintas yang mudah digunakan untuk struktur control id PHP,seperti conditional statements dan loop. Pintasan ini menyediakan cara kerja yang sangat bersih dan singkat dengan struktur controlPHP.

If Statements
kamu dapat membuat pernyataan if dengan menggunakan statement directive @if, @elseif, @else dan @endif. Dibawah ini contoh penggunaannya:

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

 

Loops
Selain pernyataan kondisional, Blade menyediakan derective sederhana untuk bekerja dengan struktur loop PHP.
Dibawah ini contah penggunaan loop:

@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

Share :