Kled: Kemarin kan kita udah membahas tentang Menginstal Laravel Menggunakan Composer nih Ver, kurang rasanya kalo kita enggak ngebahas
tentang fitur-fitur yang dimiliki laravel, seperti Rooting, MVC (Model View Controller),
Migration, Seeder, Eleqouent dan Templating dengan Blade. Karna itu hari ini
kita bakal kupas tuntas tentang fitur-fitur yang udah aku sebutkan diatas.
Ver: Kupas? Emangnya jeruk dikupas hehe peace ^.^v
Kled: --_--“
1) ROUTING
Routing
adalah proses dimana suatu item dapat sampai ke tujuan dari satu lokasi ke
lokasi lain. Dalam hal ini, item yang dimaksud adalah halaman aplikasi website.
Atau mungkin rout bias kita analogikan sebagai peta petunjuk bagaimana alur
navigasi aplikasi yang sedang kita bangun. Routing dalam Laravel dapat diatur
pada file app/Http/routes.php.
Nah
sekarang aku bakal kasih tau contoh prog....
Ver: Stoooooooooooooppp!!
Kled:
Eeeeeehh?? Kenapa???
Ver: Jangan
dilanjut dulu! Aku masih belum ngerti maksud dari rooting itu T^T
Kled: Huhhh
(menghela nafas) Kamu itu yah…
Hemm..
Gimana yah?? Ohh iya gini aja, kamu kan sering bikin status-status alay di
facebook, pasti sedikit banyak kamu hafal dong halam-halaman yang ada di website
facebook itu?
Ver: Bagian
“status alay” nya gak usah disebutin juga kali -,-
Keld: Nah
saat pertama kali kamu masuk ke halaman facebook pasti kamu disuruh login kan?
setelah login kamu bakalan masuk ke menu beranda, dimana semua status-status
alay temen kamu berkumpul. Terus saat kamu klik halaman profil maka kamu akan
masuk ke halaman profil kamu. Begitupun saat kamu masuk ke halaman pengaturan,
disana akan tampil menu pengaturan yang bisa kamu ubah sedemikian rupa.
Ver: Iya,
terus apa hubungannya sama router?? Dan lagi sebenernya kamu itu mau ngasih tau
aku atau mau negjek aku sih?? (muka bete)
Kled:
Hehehe woles woles. Nah dari yang udah aku jelasin barusan, kita dapat
menyimpulkan bahwa routing adalah bagian yang mengatur hubungan antara kamu
dan aku link dengan halaman yang akan tampil pada website saat
kita mengeksekusi link tersebut. Contohnya tadi itu, saat kita klik link profil
di facebook yang muncul adalah halaman profil, bukan halaman beranda ataupun
halaman pengaturan.
Ver: Ooooooooohhhhhh..
Gituuu to, sekarang aku ngerti, Kled. Dari tadi kek jelasinnya kayak gitu, kan
jadi gak pusing pala barby.
Kled:
Heemm.. Kamunya aja yang lemot itu mah..
Ver:
Apaaaaaaa?? Kamu bilang aku lemot????? (ngangkat golok)
Kled:
Ciaaaaaaaaa!!!! Si-siapa yang bilang kamu lemot, orang aku bilang kamu itu
imoooeettt!! Sumpah dah (keringetan)
Ver: Ohh
gitu, kirain teh kamu bilang kalo aku itu lemot. Makasih, kemana aja sih kamu, bisa-bisanya
baru nyadar kalo aku itu imut hehe ^.^
Kled: Hehe,
iya nih aku baru nyadar (senyum kepaksa)
(dalam
hati) Nyeremin banget nih orang!! Dan dari mana dia bisa dapetin tuh
golok??!!
Yaudah,
kalo gitu kita lanjutin lagi yah, Ver yang imooeet. Kamu simpen dulu dong
goloknya, takutnya nanti kamu kesambet terus tiba-tiba bacok leher aku, kan gak
lucu.
Ver: Oke
deh, aku simpen dulu goloknya. Lanjut Kleeddd ^.^ (muka polos)
Kled:
Emm... Tadi sampe mana yah?? Oh iya, sekarang untuk contoh penggunaan rooting
kita buka file rootes.php nya. Seperti yang udah aku bilang sebelumnya, file
routes.php ada di folder app/Http/routes.php.
Berikut
kurang lebih isi dari file routes.php :
<?php
/*
|--------------------------------------------------------------------------
|
Application Routes
|--------------------------------------------------------------------------
|
| Here is
where you can register all of the routes for an application.
| It's a
breeze. Simply tell Laravel the URIs it should respond to
| and give
it the controller to call when that URI is requested.
|
*/
Route::get('/',
function () {
return view('welcome');
});
Sekarang,
kita coba buat halaman statis berupa halaman biodata diri yang akan kita akses
pada link localhost/nama_project/public/biodata. Untuk membuatnya tambahkan kode
berikut pada baris paling bawah pada file routes.php :
Route::get('/biodata',
function () {
return '<h1>Biodata
Saya</h1>'
.'Nama : Kleine Drower
<br>
Jenis Kelamin : Laki-laki
<br>
Hobi : Baca Buku <br>
Cita-cita : Hidup Bahagia Dunia
Akherat';
});
Kita coba artikan bagian-bagian dari kode diatas :
- Parameter get, menjelaskan jenis request yang diterima dalam contoh ini GET request. Kita datapat mengubah post untuk mengakses POST request.
- /biodata, merupakan URL yang kita deklarasikan sebagai alamat yang akan menampilkan halaman biodata diri.
- Function() { …… }, merupakan closure (anonymous function) yang akan memberikan jawaban atas request. Selain menggunakan closure, kita juga bisa mengarahkan request ke fungsi pada sebuah controller (akan kita bahas nanti) .
Ver:
Wihhh.. Sekarang aku udah mulai ada gambaran nih tentang Router.
Kled: Yakin nih? Kalo gitu bisa dilanjut dong!?
Kled: Yakin nih? Kalo gitu bisa dilanjut dong!?
Ver: Sippp!
Lanjut, Kled!!!!
2) MVC
Ver: MVC? Mad dog Vs Chuck norris??
Kled:
Gundul mu!! Segala bawa-bawa Mad dog sama Chuck norris lagi. --_--
MVC (Model
View Controller), adalah sebuah metode untuk membuat sebuah aplikasi dengan
memisahkan antara Model (database), View (tampilan/interface) dan Controller
(logika aplikasi). Sama seperti framework-framework lainnya, laravel juga
menganut konsep ini dalam pembuatan aplikasinya.
Secara kasar, berikut adalah arsitektur dari aplikasi yang kita buat menggunakan metode MVC :
Alur kerja :
- Request browser ditangani oleh Controller.
- Controller akan melakukan pemanggilan ke Model untuk mendapatkan data yang dibutuhkan sesuai dari request browser, kemudian mempersiapkan data tersebut untuk ditampilkan.
- Controller memberikan data yang diperlukan kepada View.
- View menampilkan data dan berbagai elemen antarmuka tambahan yang diperlukan.
Keuntungan
dari menggunakan konsep MVC terletak pad…
Ver: Stop!
Stop! Stooooopp!
Kled:
Sekarang apa lagi?????
Ver: Stop,
Kled. Gak usah buang-buang nafas gak penting. Aku udah tau kok keuntungannya apa
(muka sombong)
Kled: Jirrrr
:v … Yaudah coba kasih tau aku apa keuntungannya? Pengen denger.
Ver: Oke,
dengerin yah. Ehem.. Ehem.. Jadi gini, karena Model, View dan Controller saling
terpisah, artinya setiap bagian memiliki tanggung jawabnya masing-masing.
Efeknya adalah, misalkan kita ingin merubah bagain logika aplikasi, kita
langsung edit saja di bagian controller, tanpa perlu takut merusak bagian view
(interface) atau pun bagian model (database). Alhasil kode yang kita buat lebih
terstruktur dan lebih mudah dalam me-manage
nya. Bener kan? B-)
Kled: Hemmmmmmmmmmmmm…
Lumayan lah… Lumayan…
(dalam
hati) Pinter juga nih kutil onta.
Ver: Hihi.
Kalo gitu untuk MVC udah beres, sekarang ayo kita lanjut ke fitur selanjutnya,
Kled!!
Kled: Oke
deh!!! (Kruyukkkkk…. #suara perut lapar)
Ver: ???
Kled: Hehe
kayaknya kita harus nyari makan dulu deh
Ver: Hemmm..
Kamu ini, Kled -_-“
Kled: Mikir
dalam keadaan lapar itu berat, ver :v
Ver: Alasan
aja -_- Trus ini pembahasan kita tentang fitur-fitur laravel gimana? Mau dijeda dulu? Kalo iya, izin dulu atuh ke pemirsa.
Kled: Hehe iya iya. Maaf yah pemirsa, kita mau makan dulu nih. Pembahasannya bakalan kita lanjutin lagi nanti, jadi tetep pantengin blog ini yah ^.^
Ver: Maaf yah pemirsa, Kled emang nyebelin nih kadang-kadang -___-
Yaudah deh, ayo kita nyari makan dulu, Kled. Tapi ngomong-ngomong aku telaktir yah :p
Kled: Hehe iya iya. Maaf yah pemirsa, kita mau makan dulu nih. Pembahasannya bakalan kita lanjutin lagi nanti, jadi tetep pantengin blog ini yah ^.^
Ver: Maaf yah pemirsa, Kled emang nyebelin nih kadang-kadang -___-
Yaudah deh, ayo kita nyari makan dulu, Kled. Tapi ngomong-ngomong aku telaktir yah :p
Kled: Okeeee
siapppp! Aku telaktir aqua gelas satu :p
Ver: Kleeeeeeeeeeeeeeedd!!!!!!!!!!


