Blade

Blade template adalah engine template bawaannya laravel. Blade tidak seperti umumnya file php yang membatasi penggunaan skrip di dalam view. View adalah salah satu bagian dari laravel yang berfungsi untuk menampilkan data ke pengguna atau user. File blade biasanya menggunakan ekstensi .blade.php dan ditaruh di dalam folder resources/views.

Sebagai bahan latihan, buatlah 1 buah file dengan nama beranda.blade.php di dalam folder resources/views. Dan isi dengan kalimat berikut.

<h1>Selamat Datang di Kelas</h1>
<p>
  Ini adalah paragraph
</p>
<p>
  Kata ini datanya dari controller dengan variabel nama yang isinya : {{ $nama }}
</p>

dan di file LatihanController.php tambahkan 1 buah function lagi, sehingga menjadi

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class LatihanController extends Controller
{
    public function index() {
        return "oke, ini dari controller";
    }

    public function blog($id) {
        return "Ini blog dengan id ".$id;
    }

    public function komentar($idblog, $idkomentar) {
        echo 'Id blognya : '.$idblog;
        echo '<br />';
        echo 'Id komentarnya : '.$idkomentar;
    }

    public function beranda() {
        $data = array('nama' => 'Fadlur Rohman');
        return view('beranda', $data);
    }
}

Jangan lupa, di file web.php tambahkan 1 buah route dengan nama beranda.

Route::get('/beranda', '[email protected]');

Sekarang coba dijalankan lagi dengan php artisan serve dan akses http://localhost:8000/beranda

Maka hasilnya akan tampil seperti gambar berikut

 

Kok bisa begitu?? gimana ceritanya?

Oke, saya jelaskan. tenang!!!

Jadi di dalam file controller, untuk memanggil file view kita menggunakan perintah return view('nama-filenya-tanpa [.blade.php]', variabel-data-yang-mau-dimasukkan);

Terus, kalau data sudah dimasukkan gimana cara menampilkannya ke file beranda.blade.php yang kita buat tadi??

Ada 2 pilihan, mau pake skrip php pada umumnya seperti ini.

<p>
  Kata ini datanya dari controller dengan variabel nama yang isinya : <?php echo $nama;?>
</p>

atau pake bawaannya blade yang pasti lebih ringkas dan mudah. Cukup diapit tanda kurung kurawal {{ $variabel }} seperti yang kita buat sebelumnya.

Selain menampilkan data dari variabel tadi, ada fungsi lainnya yang akan kita gunakan di tutorial-tutorial selanjutnya.

# Extending Layout

Nanti kita akan memakainya saat membuat file view. Sebagai contoh, di setiap halaman yang kita buat pastinya kan ada bagian menu. Daripada kita mengulang-ulang kode menu, kita buat sebuah template. Lebih jelasnya kita akan praktikan pada tutorial setelah ini. Contoh sederhana kode templatenya.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{ $title }}</title>
</head>
<body>
    <!-- bagian menunya -->
    @include('menu')
    <!-- isinya mulai dari sini -->
    @yield('content')
    <!-- isinya sampai sini -->
</body>
</html>

Kemudian masing-masing view-nya isinya seperti ini.

@extends('layouts.template')
@section('content')
<h1>Selamat Datang di Kelas</h1>
<p>
  Ini adalah paragraph
</p>
<p>
  Kata ini datanya dari controller dengan variabel nama yang isinya : {{ $nama }}
</p>
@endsection

# FUNGSI IF

Di dalam blade, fungsi if sedikit beda dengan if pada skrip php. Fungsi if di blade menggunakan awalan @ (@if, @else, @elseif, @endif) dan tanpa menggunakan kurung kurawal.

contoh.

@if(kondisi)
dijalankan kalau kondisi terpenuhi
@else
dijalankan kalau kondisi tidak terpenuhi
@endif

# FUNGSI SWITCH

Switch digunakan untuk membuat pilihan dengan kondisi yang banyak yang semisal dibuat menggunakan if-else akan merepotkan.

Contoh.

@switch($i)
    @case(1)
        Dijalankan kalau nilai $i adalah 1
        @break

    @case(2)
        Dijalankan kalau nilai $i adalah 2
        @break

    @default
        Dijalankan kalau nilai $i tidak ada dalam case
@endswitch

# FUNGSI FOR

Fungsi for digunakan untuk membuat pengulangan sepanjang nilai maksimal.

Contoh.

@for($i = 0; $i < 10; $i++)
  Nilai i adalah {{ $i }}
@endfor

Dan masih banyak lagi, lebih lengkapnya baca di https://laravel.com/docs/5.8/blade

Di tutorial selanjutnya kita akan membuat template

Mau Bikin Aplikasi Web & Aplikasi Android?

Saya membuka jasa pembuatan aplikasi web dan android untuk aplikasi seperti toko online, monitoring (IoT), interface mesin absensi atau kasir

Silahkan kontak link di bawah ini untuk teknis dan harganya