LARAVEL 5.7.13 - Fundamental

November 08, 2018 by


Laravel 5.7.13

Blade ini adalah extensi atau templating yang dipakai pada laravel untuk view kepada client.

Route::get('/koding', function () {
    return view('home');
});
Di folder resources\view dibuat file home.blade.php
jika ada di dalam folder view dibuat folder blog dan file home.blade.php di cut dan di paste ke dalam folder blog jadi untuk mengaksesnya maka :

Route::get('/blog', function () {
    return view('blog/home');
});

Untuk yang pertama cek file config/app.php
cek script 'debug' => env('APP_DEBUG',true); supaya pada saat ada error menjadi lebih detail. Jadi, pada saat sudah di deploy/diproduksi kita tidak mau melihat error dilihat oleh client.

Aplikasi yang dibuat nanti ada logika, data, proses. Controller => tempatnya akan menjadi jembatan. Jadi nanti di dalam routenya tidak langsung ke view tetapi masuk ke controllernya dulu. Nah, di controllernya ini nanti ada yang di olah data, ada logika yang dimainkan, baru terakhir memanggil view yang dibutuhkan.

di file routes/web.php  ===> Route::get('/blog','BlogController@index');
Route::get('/blog/{id}','BlogController@index');

Controller bisa juga dibuat dengan PHP artisan ==> artisan ini adalah superpower pada laravel untuk melakukan tugas-tugas yang otomatis. Pada cmd di windows arahkan ke folder di htdocs/laravel53 enter kemudian ketik php artisan ==> maka muncul command untuk diekseskusi pada laravel. Jadi, artisan ini sebagai bantuan untuk melakukan sesuatu dengan cepat, contohnya:

php artisan make:controller BlogController

pada fungsi dicontroller
public function show($id){
return view('blog/single',['blog' => $id]);
}

kita bisa akses dibagian view untuk id yang ditulis di uri segment nama blog pada sistem templating blade ini kita bisa akses nya dengan {{}} double bracket

{{ $blog }} => nama variabel harus sama dengan nama yang diberikan untuk parameter di dalam kurung siku ['blog' => $id] di view memakai $blog jika beda maka akan muncul error undefined variabel

Jadi jika ingin mengirimkan data lebih dari 1 dipisahkan dengan tanda , dimana yang dikiri adalah nama variabel untuk view template blade dan yang sebelah kanan adalah nilai/value dari nama variabel yang akan dioper ke view blade template.

Sistem Templating Blade

<body>@yield('content')</body> artinya memberi tahu bahwa mengeluarkan content tergantung dari yang dipakai yang namanya content di halaman-halaman lain contohnya di </head> ke atas semua sama dan </body> ke bawah semua sama untuk semua halaman tetapi body bisa berbeda dan title juga bisa berbeda tiap halaman sehingga diberikan <title>@yield('content')</title>

Aksesnya dihalaman lain denga @extends('layouts.master') dimana layouts adala nama folder sedangkan master adlah nama file (master.blade.php) kemudian
@section ('content')

@endsection

atau @section('title','Riventus Blog') untuk hal yang lebih simple atau string yang simple

Jika ingin mengekseusi tag html langsung yang dari controller yaitu menggunakan tanda "unescaped" 
{!! $unescaped !!}  jika menggunakan {{ $unescaped }} maka yang ditampilkan yaitu textnya semua bukan script tag html yang diekseskusi.

0 comments:

Post a Comment