Post Terbaru
Loading...

Minggu, 01 Mei 2016

Belajar Dasar Routing Framework Laravel - Seri 3

in Laravel
Untuk tutorial seri 3 ini, kita akan belajar mengenai route, route merupakan salah satu bagian yang sangat penting dalam framework laravel, karena fungsi utama dari route ini sendiri adalah untuk menangani permintaan  pengaksesan resource/ halaman tertentu, selain itu pula, kita bisa mengatur penulisan URL lewat route juga, bener-bener keren kan laravel ini..hehe

Pembahasan Routing

Untuk pembahasan routing kita akan sedikit berusan dengan RESTful, secara sederhana RESTful merupakan sebuah teknik untuk arsitektur software untuk terdistribusi seperti Word Wide Web, tapi dalam pembahasan untuk route ini kita tidak akan membahas secara mendalam, seperti yang kita ketahui RESTful mempunyai beberapa method seperti, $_GET, $_POST, PUT/PATCH dan DELETE namun kita tidak akan membahas semuannya, kita akan fokus pada method $_GET

Kawan-kawan pasti tidak asing dengan method $_GET, secara umum dengan method ini data dan parameter akan terlihat kedalam URL project kita, akan tetapi dalam framework laravel terdapat sedikit perbedaan, yaitu untuk method GET bisa kita gunakan untuk menampilkan, parsing (penguraian), dan juga mengirim data. Di laravel sendiri biasanya method GET ini digunakan untuk menampilkan view maupun menampilkan data.

Dasar Routing

Secara default saat kawan-kawan sudah install laravel, file routes.php sudah ada di bagian
htdocs/namafilelaravel/app/Http/routes.php

Filenya isi kurang lebih seperti berikut

'
'
<?php
Route::get('/', function () {
    return view('welcome');
});
Silakan anda ganti isi file tersebut dengan isi file berikut

'';
<?php
Route::get('/', function () {
    return 'Ini halaman dasar routing codingae.blogspot.com';
});
Keterangan
- Route::get (menunjukkan route menggunakan method GET)
- ' / ' (menunjukkan route untuk halaman utama)
- return 'isi pesan'; (untuk menampilkan isi pesan saat diakses dari laman utama)

Untuk mengaksesnya, pastikan XAMPP/WAMPP nya sudah nyala ya, lalu buka browsernya, kemudian panggil file laravel anda di address bar
localhost/namafilelaravel/public
yang pakek php serve bisa langsung
localhost:8080
Keterangan
- 8080 port yang saya gunakan

Berikut hasilnya:

Dasar Route Berparameter

Untuk skenario dasar route berparameter ini, kita akan mengirimkan sebuah parameter atau nilai dari luar untuk ditampilkan langsung oleh routes

Langsung saja kita buka file routes.php nya dulu, dan tambahkan code routes berikut dibawah routes awal tadi

'
';
Route::get('/{materi}',function($materi){
 return 'Sekarang Materi: '.$materi;
});
Keterangan:
- Route::get (penggunaan method get untuk route)
- '/{materi}' (setelah ' / ' akan diberikan sebuah parameter)
- function($materi) (digunakan untuk menangkap parameter yang dibuat di {materi})
- return 'Sekarang Materi:' .$materi; (untuk menampilkan parameter)

Cara mengaksesnya untuk localhost:
localhost/namafilelaravel/public/parameteranda
Cara mengaksesnya untuk php serve:
localhost:portanda/parameteranda


Seperti yang bisa kita lihat, dengan menambahkan parameter dasar didalam address bar, maka parameternya akan ditampilkan juga oleh file route.php nya

Route Berparameter Lebih Dari Satu

Untuk pembahasan ini sebenarnya skenarionya sama, kita akan memberikan parameter/nilai, dan nantinya akan ditampilkan oleh route, yang membedakan disini adalah kita akan membuat parameter lebih dari satu.

Saya asumsikan kawan-kawan masih membuka file routes.php nya, dan silakan tambahkan code berikut kedalam file routes.php anda

'
';
Route::get('/{materi}/{pemateri}',function($materi,$pemateri){
 return 'Sekarang Materi: '.$materi.' | Pematerinya: '.$pemateri ;
});
Keterangan:
- Route::get (penggunaan method get untuk route)
- '/{materi}/{pemateri}' (setelah ' / ' pertama akan diberikan sebuah parameter pertama dan setelah ' / ' kedua akan diberikan parameter kedua)
- function($materi,$pemateri) (digunakan untuk menangkap parameter yang dibuat dari parameter {materi} dan {pemateri})
- return 'Sekarang Materi:' .$materi.' | Pematerinya: '.$pemateri; (untuk menampilkan parameter dari materi dan pemateri)

Cara mengaksesnya untuk localhost:
http://localhost/namafilelaravel/public/Dasar_Routing/Codingae
Cara mengakses dari php serve
http://localhost:portanda/Dasar_Routing/Codingae
Dan Hasilnya seperti berikut:


Optional Route Parameter

Kali ini kita akan belajar bagaimana sebuah parameter itu nilainya optional, jadi bisa diisi dengan parameter, ataupun tidak diisi dengan parameter, syarat wajibnya disini adalah, kalau kawan-kawan mengikuti tutorial dari awal, silakan disembunyikan/dimatikan/dihapus dulu 2 code tambahan route tadi dan jadinya seperti berikut:


Lalu tambahkan code seperti di line 15-18, kalau males nulis, bisa copy paste yang berikut ini:

'
';
Route::get('param/{pemateri?}', function($pemateri = null)
{
    return $pemateri;
});
Keterangan:
- param/{pemateri?} (digunakan untuk penamaan route / urlnya dan untuk {pemateri?} maksudnya kalau semisal parameter tidak ditemukan maka akan diganti dengan nilai null dengan code berikut $pemateri = null.)
- return $pemateri; (menampilkan nilai parameter)

Cara mengaksesnya untuk opsi 1 (diisi parameternya):
http://localhost:portanda/param/Codingae atau
http://localhost/namafilelaravel/public/param/Codingae
Hasilnya seperti ini:


Cara mengaksesnya untuk opsi 2 (tidak diisi parameternya)
http://localhost:portanda/param
*rekom..lebih baik menggunakan php serve karena kadang kalau menggunakan localhost ada error
Hasilnya akan blank seperti berikut:

Opsional Route Dengan Nilai Default

Kali ini kita akan belajar untuk memberikan nilai default dari parameter yang akan kita tampilakan di route, dan syntax nya hampir sama dengan opsional route parameter, berikut syntax nya:

'
';
Route::get('param/{pemateri?}', function($pemateri = 'Codingae')
{
    return $pemateri;
});
Untuk keterangannya pun sama dengan opsional route parameter, yang sedikit beda disini adalah untuk function($pemateri = 'Codingae') ini artinya kita langsung memberikan nilai default berupa Codingae untuk parameter $pemateri

Cara mengaksesnya:
http://localhost:portanda/param
*seperti tadi, saya lebih merekomendasikan untuk menggunakan php serve untuk mengaksesnya
Dan berikut hasilnya:


Jadi, saya simpulkan sedikit dari pembahasan kita tadi terdapat 5 pembahasan yaitu
  1. Pembahasan mengenai routing
    Kita sudah berkenalan sedikit mengenai apa itu routing, pembahasan tipis-tipis mengenai RESTful ( :D ), dan juga memperdalam method GET
  2. Dasar Routing
    Penggunaan dasar untuk routing di laravel
  3. Dasar Route Parameter
    Kita mulai berkenalan dengan route parameter, dengan menggunakan satu parameter
  4. Route Berparameter Lebih Dari Satu
    Melanjutkan dari pembahasan ketiga, kita sudah belajar untuk membuat lebih dari 1 parameter untuk routing
  5. Opsional Route Parameter
    Kita sudaha mempelajari bagaimana membuat optional parameter saat kita menggunakan route parameter
  6. Opsional Route dengan Nilai Default
    Kita juga sudah belajar bagaimana caranya memberikan nilai default dari parameter yang kita inginkan
Semoga dengan sedikit tutorial ini kawan-kawan bisa sedikit paham dan lebih bisa mengenai apa itu routing di PHP

Mungkin bagi kawan-kawan yang ingin belajar lebih dalam mengenai routing bisa langsung mampir di dokumentasi laravelnya (https://laravel.com/docs/5.2/routing) saat ini saya menggunakan laravel 5.2

Silakan komen dengan memperhatikan aturan berikut
1. Komen relevan, sesuai dengan apa yang dibahas
2. Komen tidak mengandung unsur SARA
3. Mau promo apapun silakan yang penting perhatikan poin 1 dan 2
4. Perhatikan poin 1-3 aja
5. Poin 5 hanya buat iseng aja kok hehehe

#HAPPYCODING