Langsung ke konten utama

Belajar Laravel 8 - 3.2 Routes

sekarang kita pelajari tentang yang namanya Routing dari laravel.

ingat semua routing adanya di folder routes. khusus untuk web ada di file web.php 

kalau kita lihat di halaman ini kita di kasih sebuah route default. cara bacanya kalau misalkan ada rute yang metode request nya get, metode get itu ketika kita mengakses di URL lewat browser yang alamatnya adalah slash ( / ), slash itu artinya kita ga ngasih apa-apa selain nama website kita atau kalau kita ketik slash di belakang domain kita seperti http://coba-laravel.test/ itu sama aja ini artinya dia menjalankan rute yang ini 

kalau slash ini kita ganti jadi /about maka halaman http://coba-laravel.test sudah tidak bisa tampil lagi. tampilannya akan 404 | NOT FOUND. kenapa? karena ini tidak ada rute yang menangani alamat tersebut. sekarang kita punya nya /about jadi ketika kita aksesnya http://coba-laravel.test/about baru akan bisa tampil.

jadi kalau kalian ingin membuat sebuah rute tinggal bikin Route::get lalu alamatnya apa. kita kembalikan ke semua kita hapus abaoutnya.

nah selanjutnya kita lihat pada gambar di atas ada sebuah function. jadi ceritanya kalau misalkan ada user mengakses ke alamat ini maka jalankan fungsi berikut ini. fungsi yang di jalankan adalah mengembalikan sebuah view, tapi sebetulnya kita bisa nulisin apapun di sini. kalo misalkan kita tulis seperti ini 

maka yang tampil tulisan ini

jadi ceritanya ketika kita mengetikan slash di browser http://coba-laravel.test/  maka akan menampilkan seluruh yang ada di dalam function. kalau pada function sebelumnya ketika user mengetikan slash makan akan menampilkan sebuah view yang namanya wellcome. jadi si laravel akan mencari sebuah file yang namanya wellcome di dalam folder view. jadi dia akan nyari folder resource cari ke views terus cari ada gak wellcome. 
sebetulnya nama file lengkapnya wellcome.blade.php ini kalian ga perlu bingung dulu apa itu blade kenapa ada blade disini. karena sebetulnya kalau ini kita rename nama file nya menjadi wellcome.php halaman ini akan tetap tampil tanpa kita merubah routesnya tapi tampilannya akan seperti ini
karena ada sesuatu yang gak jalan. nanti kita akan bahas lebih detail mengenai blade atau templating engine milik laravel pada tahap selanjutnya, tapi saran saya kalau kalian bikin file view tambahkan aja .blade di tengah-tengahnya.

jadi ceritanya gitu carikan sebuah view yang namanya wellcome ga usah di tulis lengkap maka dia akan ke sini. nah yang tampil sekarang kalo kita refresh lagi yang tampil sekarang apapun isinya dari wellcome.blade.php ini. kalo misalkan mau lihat perubahannya kita cari tulisan Documentation pada gambar di atas di file wellcome.blade.php buka filenya kemudian scroll atau find aja di visual studio code nya ketik documentation kemudian kita ganti jadi kata "Indonesia" 
hasilnya seperti ini
jadi betul bahwa apapun yang kita tulis di dalam wellcome ini adalah yang tampil di sini. kita balikin seperti semula ke kata Documentation. jadi gambar di atas ceritanya halaman landing page nya laravel kalo kita pengen tau cek dokumentasinya nanti langsung diarahkan ke docs, kalo kita klik Laracasts akan di arahkan ke halaman si laracasts kalian bisa kunjungin kalau kalian mau tau berita terbaru seputar laravel bisa klik Laravel News, kalau mau ekosistem nya si laravel bisa klik Vibrant Ecosystem.

tapi kedepannya kan kita gak mau yang tampil seperti ini landing page laravel. yang kita mau adalah tampilan aplikasi kita. makanya ini ga akan kita pake "wellcome.blade.php". kita akan buat Routes kita sendiri. misalkan untuk route nya kita akan ganti ke halaman home
kalo misalkan kita mau punya Route yang lain kita bisa copy aja. sekarang kita punya dua, kita ganti aja misalkan /about dan return nya menjadi 'Halaman About'

dan yang ketiga misalkan untuk bikin blog jadi /blog. ceritanya nanti saya akan membuat aplikasi blog sederhana kita ganti return 'Halaman Blog'


sekarang kita punya 3 buah routes yang kalo misalkan kita arahkan kesana. harusnya sudah menampilkan halaman yang sesuai. 
contoh halaman http://coba-laravel.test kita refresh akan tampil seperti diatas. karena sekarang route nya atau URL routenya sudah mengarah ke route yang return 'Halaman Home'; sedangkan kalo kita ketik http://coba-laravel.test/about sudah mengarah ke route about. dan satu lagi kalo kita ketik blog sudah mengarah ke halaman blog. jadi ini cara menggunakan route yang ada di file web.php.

tapi kan kita ga mau hanya tulisan aja yang tampil kita pengen menampilkan juga sebuah view. jadi kita bisa lakukan hal yang tadi kayak tadi kita bisa tulis disinya view nama view nya apa > view('home')
view yang pertama kita kasih home, yang kedua about, untuk yang blog kita kasih view nya misalkan kita kasih nama posts. karena dia akan menampilkan banyak posts. sekarang kalo di jalanin pasti jelas error


kalo di laravel tampilannya kayak gini, sudah rapih informasinya lengkap jadi kita bisa tau salahnya dimana. salahnya katanya view home not found, jadi karna kita belum punya view yang namanya home. jelas yah kita akan bikin dulu. caranya teman-teman masuk ke folder resource, masuk ke folder views bikin file baru dengan cara klik kanan new file kasih nama home.blade.php
didalam sini misalkan kita mau bikin struktur html sederhana.
temen-temen kalo pake visual studio code bisa pakai tanda ! terus tab nanti di bikinkan struktur html nya. title nya kita tulis misalnya disini karna kita mau bikin aplikasi blog misalkan Tangsel Blog | Home
karena ini halaman home.


terus dalam bodynya simple aja saya mau kasih H1 lalu isi dengan Halaman Home. klo kita save sekarang kita lihat hasilnya.. nah sudah tampil
karena yang di akses adalah halaman view nya. jadi errornya udah hilang. kita akan lakukan hal yang sama untuk dua buah route yang lain nya karena sekarang klo saya masuk kehalaman about http://coba-laravel.test/about bakal error, pesan errornya sama katanya view about not found. nah sekarang caranya gimana? bisa bikin file baru di folder views tadi. kita kasih nama about.blade.php. isinya kita copy aja dari file home.blade.php. title nya ganti jadi about  dan h1 nya ganti About juga.


satu lagi kita bikin file lagi, klik kanan di folder views pilih new file, kita buat posts.blade.php kita simpan lagi isinya bisa kita copy dari home tadi.  kemudian tekan CTRL+D
ganti jadi Posts
kita save. lalu lihat hasilnya. http://coba-laravel.test/about dan http://coba-laravel.test/posts
ok sudah aman yah. jadi gitu caranya kalau kalian mau bikin halaman view.
tadi kita udah tau routes nya ada di routes/web.php. 

nanti routes nya bisa sangat kompleks, bisa jadi metode requestnya beda baik itu post, delete, put, patch dan lain-lain. lalu isinya juga bisa saja engga menggunakan callback function seperti ini
tapi bisa manggil controller. tapi itu nanti di tutorial yang akan datang. kita yang simple aja sekarang.
jadi kita udah tau bahwa routes bisa menampilkan view yang kita buat sendiri.

sekarang gimana caranya kalau kita mau menambahkan misalnya css untuk halaman web kita, misalkan saya mau kasih nih css untuk halaman home. seperti yang saya bilang tadi kita bisa bikin file didalam folder public. jangan bikin folder di dalam folder resources karna disini kalo misalkan kita mau mengkomplie css nya untuk masuk ke public, itu topik yang berbeda. kita fokus di public aja dan boleh langsung bikin file css disini (folder public). misalkan kita bikin di public tyle.css atau kalian kalo mau rapi bisa aja masukin kedalam folder css. tapi kalo misalkan saya contohkan gini deh... kita bikin seperti ini.
gimana caranya supaya kita bisa terapin di home? jadi gampang aja. kita tinggal langsung hubungkan menggunakan tag link. kita langsung tulis style.css.


karena url yang kita tulis disini sudah langsung relatif terhadap folder public. jadi ga usah di tulis lagi folder public nya.
sekarang kalo kita jalanin dia langsung ngambil dari file css kita
atau kalo misalkan mau kita rapihin kita bisa aja bikin folder disini (public/css)  terus kita tarik file css nya untuk masuk kedalam folder css. sekarang ini engga lagi href="style.css" tapi kita butuh foldernya jadi href="css/style.css".

begitu pula dengan javascript, misalnya kalian mau tambahkan javascript boleh kita bikin folder baru didalam public misalnya namanya js terus kita kasih file misalnya script.js ini simple aja, ceritanya kita mau bikin alert aja alert('hello Tangsel')
misalkan setiap kita buka halaman home nanti tampil alert. caranya kita tinggal hubungkan ke halaman home ini menggunakan tag script di akhir body nya, kita kasih script src atau sumbernya kita arahkan ke "js/script.js"
kalo kita refresh di browser sekarang ada tuh yah alertnya dari javascriptnya

kalau kalian misalkan ingin agar file css ini di terapkan di halaman lain juga  ya ini mau gak mau juga kalian copy <link rel="stylesheet" href="css/style.css"> misalkan kita mau pindahkan ke halaman about supaya Aboutnya juga dapat background yang warna merah muda. kita copy manual aja. kalo mau cara yang lebih mudah nya nanti akan kita bahas pada bagian templating engine .
buka halaman about di browser lalu lakukan refresh... nah sudah berubah juga backgrounnya. 

begitu pula misalkan kita ingin tambahin gambar. contohnya misalkan kita tulis dulu disini (halaman about).
disini kita kasih about me, sekilas tentang diri kita, misalkan nama saya, terus ada emailnya misalnya, dan ada image nya. tapi kita belum punya imagenya nih..

gimana kalo kita cari dulu image, nanti kita copykan.
saya sudah punya image nya dan akan di simpan di dalam folder public, yang isinya sebuah gambar
ini juga sama langsung aja kita panggil folder "img" relatif terhadap public /fauzi.jpg. terus untuk alternatif text nya kita ganti jadi Ahmad Fauzi


kemudian kita save, dan lihat hasilnya di browser
jadi untuk halaman about kita sudah bisa akses css nya dan juga gambar. kita udah tau lagi nih cara akses file statis.

nah terakhir saya mau kasih tau gimana caranya untuk mengirimkan data dari routes kita ke view. jadi nanti kita bisa kirimin data. datanya gak kita tulis manual di sini (view) kita mau ngambil <h3>Ahmad Fauzi</h3> kemudian email dan gambar itu dikirim dari routes nya karena mungkin aja data tadi berubah-ubah sesuai dengan user yang lagi login misalnya.

gimana cara ngirimnya? itu gampang banget kita tinggal kirimkan parameter tambahan di dalam view nya. bisa berupa array karena kita ingin mengirim datanya banyak yah. ada email, image. jadi saya bisa bikin array yang didalamnya ada bentuk asosiatif array atau pasangan antara key dengan value.

kita bisa kasih "name" => "Ahmad Fauzi", "email" => "fauzi.abc@gmail.com" ini bentuk nya array assosiatif ingat yah teman-teman jadi ada tanda komanya di akhir. terus setiap key dan value di bungkus pakai kutip kalau dia string lalu di pisahkan dengan tanda => (samadengan lebih besar dari). dan yang terakhir kita mau kirim nama gambarnya "image" => "fauzi.jpg".
ini kita save. nah sekarang tiap-tiap key ini atau tiap-tiap data ini langsung kita bisa gunakan di halaman about. caranya tinggal panggil key nya sebagai nama variabel.

tinggal ke sini (halaman about), ganti Ahmad Fauzi dengan menggunakan <?php echo $name; ?>
coba kita save dulu kita lihat hasilnya satu berhasil atau engga.
nah Ahmad Fauzi nya masih tetap muncul gak error. kalo misalkan kita ganti jadi "Murah Tani"


otomatis berubah karena ambil data nya dari routes yang kita ubah tadi. kita balikin lagi menjadi "Ahmad Fauzi" berarti sudah bisa di pakai.
atau di dalam view nya bisa di singkat menjadi <?=
ini sama aja dengan PHP echo. untuk email juga sama kita bisa kasih <?= $email; ?>
untuk gambar juga sama "img/<?= $image; ?>" lalu untuk alt nya juga bisa kita ambil dari nama aja alt="<?= $name; ?>"

coba refresh di browser, jadi ini sudah mengambil data yang dikirimkan dari routes.

Komentar

Postingan populer dari blog ini

Cara Membuat Database postgres atau Mysql di dbeaver

kali ini saya akan memberikan informasi cara membuat database SQL. di sini saya menggunakan postgre sql postgresql tidak jauh berbeda dengan mysql. berikut langkah langkahnya: saya menggunakan aplikasi database gui dbeaver untuk mempermudah pembuatan database. - buat koneksi baru di dbeaver. - setting koneksi jika localhost tidak jauh berbeda dengan settingan berikut. - buat Skema baru di dalam koneksi yang telah di buat, kemudian ketik nama skemanya. contoh di bawah ini saya membuat skema dengan nama test. - berikut skema yang telah kita buat - kemudian kita buat table baru. caranya klik kanan pada folder Tables -> create new table - klik di field Table Name (di cetak tebal/kotak merah) kemudian ketik nama table yang akan di buat. - buat kolom atau filed pada table. klik kanan di bawah colomn name -> create new coloumn. lihat gambar berikut: - input atribute kolom. di sini saya membuat nama kolom NIK, tipe data varchar, panjang data

Javascript - Membuat grafik menggunakan chart js

Membuat Grafik Chart menggunakan library chart js source code HTML menggunakan bootstrap. yang perlu di perhatikan nama id selector nya. yaitu yang ada di dalam tag id provinceChart < div class = "col-xl-6 col-lg-6 col-md-6 col-sm-12 col-xs-12" >           < div class = "x_panel " >             < div class = "x_title" >               < h2 > Data Penjualan Provinsi - < strong > <? //=date('Y') ? > </ strong ></ h2 >               < ul class = "nav navbar-right panel_toolbox" >                 < li >< a class = "collapse-link" >< i class = "fa fa-chevron-up" ></ i ></ a >                 </ li >                 < li >< a class = "close-link" >< i class = "fa fa-close" ></ i ></ a >                 </ li >                 </ ul >               < div class = &qu