LARAVEL 7 | Dasar routing dan membuat controller halaman pada Laravel

Gedetikapermana
7 min readSep 2, 2020

--

halo, kembali lagi di basic basic laravel, kali ini kita akan melakukan routing halaman web di laravel 7. sebelumnya saya anggap anda anda sekalian sudah membaca instalasi laravel dan menjalankan projek yang dapat diakses disini.

Oke, pertama saya akan membahas topik topik yang akan kita buat pada projek laravel ini, saya kedepannya akan membuat base aplikasi sistem kasir dasar dengan menggunakan framework laravel dan nantinya akan dihubungkan dengan aplikasi mobile kasir hehe😊.

  1. membuat view

yang kita buat pada tahap ini adalah halaman vies kemudian routing dari halaman menuju kehalaman lain sekaligus membuat controllernya. Mula mula saya membuat folder yang akan digunakan untuk menyimpan halaman view yang akan kita buat sendiri, folder ini saya beri nama templete yang berisikan base template bootstrap yang akan saya gunakan, nama folder ini bebas ya suka suka anda dalam penamaan hehe.

Didalam folder template ini saya buat file dengan nama theme.blade.php yang digunakan sebagai base dasar dari halaman halaman lain yang kita gunakan

file theme.blade.php

Didalam theme.blade.php saya masukkan kode starter template html dari dokumentasi bootsrap seperti gambar berikut

kode program didalam file theme.blade.php

Lalu kita bisa menuju ke folder routes -> web.php dan kita tambahkan routes yang menuju ke halaman theme yang telah kita buat untuk melihat hasilnya apakah bisa atau tidak

folder routes->web.php
kode untuk menunju halaman theme

Nah return viewnya diisi dari root folder tempat file theme disimpan, karena saya menyimpan file theme.blade.php didalam folder dengan nama template jadi kita bisa tuliskan kode seperti diatas

Atau tanda titik bisa diganti dengan menggunakan ‘/’ sehingga menjadi ‘template/theme’

Coba akses halaman yang kita buat tadi sesuai dengan url yang kita buat. Disini nama url yang saya buat adalah /theme (nama url ini bebas ya teman teman)

url yang kita masukkan ke web browser
hasil menjalankan url

Dan isinya dari halamannya benar hello, world seperti yang kita buat pada file theme.blade.php

Kemudian kita modifikasi theme.blade.php ini agar bisa digunakan sebagai base template oleh halaman lainnya, pertama kita rubah title dari page menyesuaikan nama page yang kita buka, biar title dari halaman webnya selalu hello, world 😊

Dalam tag html title yang sebelumnya terdapat tulisan Hello, world dirubah menjadi @yield(‘disini diisi bebas’) tapi saya isi yang simple dengan nama title-page supaya tidak lupa

Kemudian dibagian body saya hapus tag h1 dan menambahkan syntax @yield(‘container’), dimana nantinya nilai container ini akan digantikan dengan html yang kita buat lainnya, jika dilihat keseluruhan kode programnya akan seperti ini

base code html bootstrap yang telah di modifikasi body dan titlenya

Selanjutnya saya akan buat halaman beranda atau home yang berisikan daftar barang barang dengan nama index dan berada didalam folder pages.

file halaman baru dalam folder pages

Didalam index.blade.php kita bisa tambahkan kode dari templating blade yakni @extends(‘nama folder.nama file blade yang kita buat’)

Dalam hal ini saya menggunakan @extends(‘template.theme’) fungsi dari ini adalah meng-extend tampilan file theme.blade.php yang berada didalam folder template

Kemudian tambahkan kode templating blade lainnya bernama section, dengan menuliskan seperti ini :

@section(‘nama section yang akan diganti’, ‘nama section yang menggantikan’)

Jadi tadi saya membuat section di file theme.blade.php dengan nama title-page dan akan saya gantikan dengan Selamat datang, Sistem Kasir

@section(‘title-page, ‘Selamat dating, Sistem Kasir)

Dan tambahkan kode @section baru yang didalamnya terdapat tag table karena saya akan membuat table dihalaman index nanti. Bisa dilihat keseluruhan kode seperti berikut :

index.blade.php dengan container tabel

Lanjut kita ubah route ke arah halaman theme tadi menjadi ke halaman index :

kode untuk mengarah ke halaman index

Dan masukkan url kedalam browser sesuai nama url pada routing yang kalian buat, kalai saya /beranda-kasir. jika sudah anda dapat melihat hasilnya

hasil akses url /beranda-kasir

Jeng jeng halaman beranda dan routing simple sudah bisa dijalankan, selajutnya kita percantik deh halaman berandanya dengan menambahkan navigation bar, disini saya akan menambahkan navigation bar dialam folder template dengan nama navbar.blade.php untuk navbar saya copy saja langsung dari starter navbar yang ada pada bootsrap, bisa dilihat seperti berikut

file navbar.blade.php
kode navigation bar dari base template bootstrap

Kemudian pada halaman view index.blade.php saya menambahkan kode @include(‘nama folder.nama filde blade’) seperti berikut

include navbar

Coba kita refresh halamannya

Hehe, halaman index kita berisi navbar, tujuan navbarnya dipisahkan adalah agar maintenance lebih mudah jika ada perubahan link pada navbar agar hanya perlu merubah link yang ada pada navbar.blade.php

Lalu saya lakukan perubahan untuk menyesuaikan kebutan pada menu di navbar, anda juga dapat melakukan kustomisasi sesuai keinginan kalian

2. Routing Dasar (Cara kurang dianjurkan)

Selanjutnya mari kita melakukan routing ke masing masing halaman, pada navbar saya yang baru saya hanya membuat 2 buah link, pertama adalah beranda dan yang kedua adalah daftar barang terjual

Tombol keluar nantinya akan kita gunakan tapi untuk sekarang kita belum menggunakannya, dan text Nama user akan berisikan user siapa yang melakukan login

Saya akan membuat halaman baru dengan nama barang_terjual.blade.php didalam folder pages, yang isinya sama seperti index.blade.php

Untuk melakukan routing kalian dapat mengakses folder routes -> web.php dan tambahlan routes seperti berikut:

Dan pada navbar di file navbar.blade.php kita bisa tambahkan link url pada tag a href seperti gambar berikut :

tambahan ada pada bagian href

Dan coba kita akese link pada navigation bar

Dan linknya pun berhasil, tapi saya akan menunjukkan cara yang seharusnya dilakukan, bukan cara seperti diatas

3. Routing yang dianjurkan

Pertama kita buka terminal dan kita akan membuat controller menggunakan command php artisan make:controller nama_controller

Contohnya seperti ini :

php artisan make:controller BarangController

Nah sampai disini terdapat kelebihan Laravel yang lainnya yaitu Laravel dapat membuat method function langsung didalam class controller yang kita buat dengan menambahkan kode –resource

Seperti berikut :

php artisan make:controller BarangController –resource

Jika sudah seperti gambar diatas, berarti controller dengan nama BarangController telah berhasil kita buat. File controller ini dapat dilihat pada folder app->Http->Controller->BarangController.php

Nah tambahan kode –resource tadi menghasilkan function yang sudah siap digunakan didalam class BarangController.php, tapi kita tidak akan menyinggungnya sangat dalam ditahap ini, kita hanya menggunakan satu function yaitu function index terlebih dahulu. Tambahkan kode return view(‘nama folder.nama blade file’)

BarangController method index

Jika sudah kita bisa Kembali ke halaman routes->web.php dan rubah routes yang sebelumnya seperti ini :

kode route sebelumnya

Ubah menjadi seperti ini :

kode route baru

Kode diatas dapat diartikan sebagai :

a. rute dengan method get dengan url/beranda-yo arahkan menggunakan controller bernama BarangController menggunakan method index yang akses linknya beranda

b. rute dengan method get dengan url/beranda-yo arahkan menggunakan controller bernama BarangController menggunakan method index yang akses linknya daftar-barang

kok kok kok, dimana dapet beranda?, dimana dapat daftar barang?

Nah sekarang kita ke navbar.blade.php untuk memperbaiki tag a href yang sebelumnya. Rubah menjadi seperti ini :

hasil perubahan tag href pada navbar.blade.php

Jadi tujuannya kalian bisa mengganti url dengan nama ‘beranda-yo’ atau apapun tanpa harus merubah tag a href dari navbar.blade.php karena tag tersebut melakukan akses dari name yang diberikan pada routes yang dibuat

Yeee untuk routing dan controller dasar cukup sampai disini ya penjelasannya. Semoga cukup jelas karena bahasanya sepertinya agak berputar putar, terimakasi kasih telah membaca 😊

--

--

No responses yet