Blade Template

Blade Template

Blade adalah mesin templating yang sederhana namun kuat yang disertakan dengan Laravel. 

Tidak seperti beberapa mesin templating PHP, Blade tidak membatasi anda untuk menggunakan kode PHP biasa di dalam templat Anda.

Faktanya, semua templat Blade dikompilasi ke dalam kode PHP biasa dan di-cache hingga dimodifikasi, yang berarti Blade pada dasarnya tidak membebani proses pada aplikasi Anda.

Menggabungkan Routing, Controller, dan View

Flow

Browser 🠊 Link 🠊 Routing 🠊 Controller View

Sebelum implementasi blade engine di laravel, kita akan membuat tampilan web sederhana dengan digabungkan dengan routing, controller dan view.

Langkah Pertama: Membuat Controller Baru Pada Laravel

Saat kita menggunakan laravel kita tidak lagi membuat code php dari nol, dengan menggunakan fitur artisan yang sudah ada di laravel jadi terbantu.

Untuk membuat controller baru kita bisa menggunakan perintah : php artisan make:controller nama_controller , contoh disini untuk nama yaitu; HalamanController .


membuat controller baru dengan nama HalamanController
Membuat Controller Baru

Langkah Kedua: Menghubungkan HalamanController dengan View

Setelah selesai membuat Controller, sekarang kita akan menghubungkan HalamanController dengan View Halaman .
  1. Masukan Function index, tentang, dan kontak di HalamanController
  2. Masuk Resource  🠊 View  🠊 Buat Folder Halaman  dan file dengan nama index.blade.php
  3. Isi index.blade.php dengan html sederhana seperti h1, p .
  4. Untuk jumlah lorem Ipsum pada tag p adalah 20, bisa mengetikan di visual studio lorem20
menghubungkan controller dengan view halaman
Menghubungkan Controller dengan View

Langkah Ketiga: Menghubungkan Route dengan HalamanController

Kita Lanjut Menghubungkan Route dengan ControllerHalaman , masukan code laravel php Route:get('/', [HalamanController::class], 'index'); di bagian paling bawah.

Seblumnya route default dari laravel comment atau // terlebih dahulu di belakang route agar tidak conflict yang mengarah ke welcome. 

Artinya ketika ada yang mengakses link laravel di browser http://127.0.0.1 atau http://127.0.0.1/ diarahkan ke index.blade.php yang berada di folder views 🠊 halaman.

membuat route untuk ke halaman depan
Menghubungkan Route dengan HalamanController

Langkah Kempat: Test Mengkases di Browser

Berikut Hasil dari mengakses http://127.0.0.1 atau http://127.0.0.1/ di browser

output dari view halaman di browser

Studi Kasus Menambah Halaman Kontak dan Tentang

Coba teman" pecahkan studi kasus menambah halaman kontak dan tentang baru, disini penulis sudah memberikan source code laravel, tinggal melakukan implementasi.

Fokus pada Route dan Controller di persegi panjang merah, 

route halaman kontak dan tentang
Route

membuat controller tentang dan kontak
Controller

membuat blade kontak dan tentang
View kontak dan tentang

Goals dari pembuatan halaman kontak dan tentang baru pada laravel, bisa implementasi route, controller, view sampai ke perbaikan saat ada error dan.

Halaman Kontak dan Halaman Tentang bisa di akses di browser.

halaman kontak
Halaman Kontak

halaman tentang
Halaman Tentang

Implementasi Blade Template

Saat kita melihat script html di index.blade.php, kontak.blade.php dan halaman.blade.php , ada html yang berulang seperti <html></html, <head></head>, dan <body></body> dan yang berbeda cuma di h1 dan p/ paragraf.

halaman index

halaman kontak

halaman tentang

Dengan adanya Blade Template Engine kita bisa membuat satu <html></html>, <head></head>, dan <body></body>.

Bisa digunakan beberapa halaman contohnya index.blade.php, kontak.balde.php dan tentang.blade.php .

Langkah Pertama : Membuat HTML, HEAD, dan BODY Utama sebagai Layouting

Sebelumnya buat terlebih dahulu folder dengan nama layout di dalam folder view, isi folder layout dengan file aplikasi.blade.php sebagai utama halaman kontak dan tentang.

@Yield('nama_bebas') adalah fungsi yang digunakan di Laravel untuk mendefinisikan bagian tertentu dalam tata letak dan secara permanen digunakan untuk mengambil konten dari halaman anak dan mentransfernya ke halaman master.

Halaman Master Layouting

@extends('lokasi_halaman_layouting_master') memungkinkan anda untuk "memperluas" template, yang mendefinisikan bagiannya sendiri, dll. Templat yang dapat Anda perluas akan mendefinisikan bagiannya sendiri menggunakan @yield , yang kemudian dapat Anda masukkan ke dalam file tampilan Anda.

@section('nama_yield') menyuntikkan tata letak konten dari tata letak extended blade dan menampilkannya di child blade, konten dari bagian ini akan ditampilkan dalam layout menggunakan arahan @yield dan @parent akan digantikan oleh konten layout saat tampilan di-render.

isi konten utama halaman depan

Untuk halaman kontak dan halaman tentang sama seperti halaman depan yang membedakan isi dari tiap-tiap halaman. 

child halaman konten
Halaman Depan

source code child halaman konten
Source Code Halaman Depan

Menampilkan Data di View dari Controller

Sebelumnya kita sudah mencoba bagaimana cara membuat halaman dan meroutekan dari controller ke view.

Sekarang kita akan menampilkan data dari controller ke view dan tidak menggunakan database untuk mengambil datanya,  hanya menggunakan variable dan array sederhana.

Cara Pertama Menggunakan Variable

implementasi variable pada controller
    
    $judul = 'Ini Adalah Halaman Kontak';
    return view("halaman/kontak")->with('halaman_judul', $judul);
menampilkan data di blade dari controller

Untuk menampilkan data di kontak cukup masukan {{ $halama_judul }} dimana variable ini menangkap dari variable judul dari controller.

sumber data dari controller

Cara Kedua Menggunakan Array

mengirim data array di controller
    
    $data = [
        'judul' => 'Ini Adalah Halaman Kontak',
        'kontak' => [
            'email' => 'dosqangga45@gmail.com',
            'website' => 'https://www.bikinbalik.com'
            ]
    ];
    return view("halaman/kontak")->with($data);

menangkap data dari controller variable array

output data dari controller

Tujuan dari menggunakan variable dan array, bisa dan paham bagaimana cara implementasikan saat pembuatan sebuah aplikasi web menggunakan framework laravel. 
Next Post Previous Post
No Comment
Add Comment
comment url