Judul : Tutorial Laravel : Memahami Route Laravel Bagian 1
link : Tutorial Laravel : Memahami Route Laravel Bagian 1
Tutorial Laravel : Memahami Route Laravel Bagian 1
Jika kita masuk ke sebuah warung kopi dan memesan secangkir kopi, apa jadinya bila si pelayan malah menyuguhkan sepiring nasi? Anda tentu tidak merasa senang dengan layanan seperti itu khan? Dan layaknya sebuah warung kopi, sebuah aplikasi website juga harus menyuguhkan apa yang user minta. Jika terdapat kejadian seperti di atas tentu saja user kapok dan tidak ingin mengunjungi website kita lagi.Route Laravel : Pengenalan
Route adalah hasil akhir dari sebuah aplikasi, hasil akhir dari sebuah request di website.Bayangkan anda ingin membuat halaman login untuk aplikasi website. Jika kita tidak menentukan route-nya maka kita tidak akan tahu, kapan website tersebut akan mendapat request dari user, di bawa ke mana jika ada request halaman tersebut? bagaimana respon website terhadap request dari browser? Route itu seperti jalan virtual yang akan menunjukkan jalan kemana user dipandu.
Di Laravel, route untuk aplikasi website berada di file app/routes.php dan akan diperiksa dari bawah ke atas. File inilah yang harus anda edit jika ingin menambahkan, menghapus, mengedit route dalam aplikasi anda. Jika anda baru saja menginstall Laravel, bukalah file app/routes.php, anda akan menjumpai kode berikut ini :
// Route that is executed when the user opens up the index page in the browserJika anda pertama kali menginstall Laravel dan membuka halaman index, Anda akan menjumpai halaman sederhana yang bertuliskan "You have arrived!" Halaman tersebut adalah hasil dari sebuah route yang menampilkan halaman "hello".
Route::get('/', function()
{
return View::make('hello');
});
Struktur Route Dasar
Route dasar yang telah ada dalam Laravel yang baru terinstall terdiri dari 3 bagian : metode request yang masuk (get, post, put, patch dan delete), alamat route, function yang akan dijalankan jika route sudah sampai ke alamat tersebut.Route::get('/', function( )Alamat dari request bisa berupa :
- Slash / yang artinya root dari aplikasi
- Kata tunggal seperti "users", "posts", "about", dan sebagainya
- Kata-kata yang dipisahkan dengan slash misalnya :
Kode view::make menampilkan template blade dari parameter yang dimaksud.
Jika kita ingin menampilkan url bukan root dari aplikasi, misalnya "coffee" tinggal diganti tanda slash / dengan kata coffee.
// The index route destination (‘/’) yang diganti dengan “coffee”Kita akan membuka halaman tersebut dengan url http://localhost:8000/coffee
Route::get('coffee', function()
{
// response halaman masih tetap sama
return View::make('hello');
});
Type Route
Beberapa jenis route :- GET : mengambil data dari user
- POST : mengirim data melalui form
- DELETE : menghapus data
- PUT : mengupdate data
- PATCH : mengubah beberapa bagian dari data
- TRACE
- HEAD
Contoh Routing : Form Login
Misalnya anda ingin membuat sebuah halaman yang tidak hanya menampilkan konten statis seperti HTML saja tetapi memuat interaksi antara user dan halaman web tersebut. Dalam hal ini form login yang meminta user untuk memasukkan username dan password kemudian memproses data tersebut.Saat user memasukkan username dan password, aplikasi website tersebut akan mengirim data tersebut.
Membangun Struktur Routing Untuk Form Login
Ada 2 hal yang harus kita buat :- Sebuah route untuk menampilkan form login
- Sebuah route yang menerima data tersebut dan menampilkannya kembali kepada user
// Route untuk menampilkan halaman login
Route::get('login', function()
{
// Menampilkan text untuk user
return 'login form';
});
// Route untuk memproses form login
Route::post('login', function()
{
// Display a placeholder text to the user
return 'processing the login form';
});
Menampilkan form login dan memprosesnya
Cara paling mudah untuk menampilkan HTML dari routes adalah dengan menempatkan HTML sebagai string text dari routes. Sedangkan cara yang lebih tepat yaitu dengan membuat sebuah view template dan memanfaatkan Blade Laravel Engine untuk menampilkan sebuah form. Namun dengan alasan kemudahan kali ini kita akan menampilkan HTML langsung. Lihat kodenya di bawah ini :// HTML untuk menampilkan form login dengan route
Route::get('login', function()
{
return '<form action="login" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password">
<input type="submit" value="Submit">
</form>';
});
Pada saat seorang user mensubmit form ini, sebuah request "POST" akan dibuat ke route login dan menampilkan data yang telah dimasukkan.
// Mengambil data yang disubmit dan menampilkannya kepada user
Route::post('login', function()
{
return 'Username:'.$_POST["username"].',Password: '.$_POST["password"];
});
Buka http://localhost:8000/login dan isilah form tersebut dengan username dan password, apa yang akan terjadi?
Menambahkan Parameter ke Routes
Parameter Route memungkinkan kita membuat route menjadi dinamis dan menyesuaikan data yang dimasukkan. Data dalam aplikasi anda tidak perlu rumit. Data-data tersebut ada yang disimpan dalam database, ada yang disimpan di session, dan juga ada yang cuma dilempar dari aplikasi satu ke aplikasi lainnya. Saat aplikasi anda mulai on air dan diisi dengan informasi, data-data tersebut akan semakin banyak dan bertambah.Kita kembali ke warung kopi.
Misalnya anda meminta pemilik warung untuk menyajikan kopi dengan jenis tertentu dan ukuran tertentu. Misalnya "anda ingin kopi grande latte", bagaimana cara anda membuat aplikasi yang memahami hal tersebut : jenis : Latte, ukuran : Grande.
Jawaban dari pertanyaan tersebut bisa diselesaikan dengan "parameter routes".
Anda harus memberitahu aplikasi anda, jenis yang diminta. Salah satu caranya adalah dengan menyediakan form dan submit data. Cara tersebut sangat tidak praktis dan saya tidak merekomendasikannya.
Kita bisa memanfaatkan sesuatu yang telah bisa dipahami oleh server : url yang diminta.
Address bar di browser anda telah menyediakan banyak data.
Lihatlah contoh url berikut ini :
http://localhost:8000/coffee/latte/grande
cobalah akses url di atas dan anda akan menjumpai pesan error.
Kita bisa menambahkan kata dalam url dengan dipisahkan oleh tanda slash /.
Cobalah tambahkan kode berikut di routes:
Route::get('coffee/latte/grande', function()
{
return 'Grande Latte';
});
Route::get('coffee/grande/barista', function()
{
return 'Grande Barista';
});
Menggunakan Paramater Routes
Dalam kode function (), kita bisa menambahkan parameter. Kita bisa menambahkan variabel dan membuatnya dinamis dengan merepson url yang berbeda-beda.Cobalah kode berikut ini :
Route::get('coffee/{kind}', function($kind)
{
// Menampilkan kembali variabel kepada user
return 'Anda meminta kopi: '.$kind;
});
Cobalah untuk membuka url http://localhost:8000/coffee/expresso atau ganti expresso dengan lainnya. Apa yang terjadi?
Memberikan Lebih dari Satu Parameter
Kita tidak hanya terbatas dengan memberikan satu parameter. Tapi lebih dri itu. Bisa dua, tiga dan lebih dari itu.Cobalah kode berikut ini :
// Memberikan 2 parameter dalam sebua route
Route::get('coffee/{kind}/{size}', function($kind, $size)
{
// Menampilkan variabel kepada user
return 'Kind of coffee drink: '.$kind.', size: '.$size;
});
Pembatas Route
Dalam satu kasus, anda mungkin ingin membatasi permintaan orang. Laravel memberikan kita sebuah fleksibilitas untuk membatasi parameter route.Salah satu cara untuk memberi batasan yaitu dengan ekspresi constraint biasa di akhir routes.
// Membatasi parameter route
Route::get('coffee/{kind}/{size}', function($kind, $size)
{
return 'Kind of coffee drink: '.$kind.', size: '.$size.'oz';
})->where('size', '[0-9]+');
Demikianlah Artikel Tutorial Laravel : Memahami Route Laravel Bagian 1
Sekianlah artikel Tutorial Laravel : Memahami Route Laravel Bagian 1 kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.
Anda sekarang membaca artikel Tutorial Laravel : Memahami Route Laravel Bagian 1 dengan alamat link https://infoasikindo.blogspot.com/2015/01/tutorial-laravel-memahami-route-laravel.html
0 Response to "Tutorial Laravel : Memahami Route Laravel Bagian 1"
Post a Comment