Belajar Laravel: Route dan View

3 min read

Routing sebuah level dasar bagi kamu yang ingin mempelajari framework Laravel. seperti yang kita ketahui design pattern yang digunakan framework ini adalah MVC. MVC singkatan dari Model, Views, dan Controller.

Apa Itu Route Di Laravel?

Laravel, route dan view
Laravel, route dan view

Sebuah URL yang menentukan method mana yang akan dieksekusi dari sebuah Class Controller diletakkan sebagai Closure, clouser sebuah fungsi yang diletakkan sebagai argument dari sebuah fungsi (fungsi di dalam fungsi), tetapi di laravel kamu tidak dibatasi untuk hanya memberikan method Class Controller sebagai closure, pada kenyataanya laravel juga mengijinkan function biasa.

Semua Laravel route dapat dibuat di file-file route, yang berlokasi folder routes. Mereka sudah secara otomatis di muat oleh Laravel, ada beberapa jenis routes di laravel sebagai berikut.

  • Untuk Web Interface, kamu bisa membuat route berjenis ini di dalam file routes/web.php
  • Untuk Api, bisa dibuat di dalam file routes/api.php

Kebanyakan aplikasi membuat router di file routes/web.php, ini bisa diakses dengan mengunjungi URL route yang sudah kita buat melalui browser.

Routing Dasar

Dibawah ini saya meletakkan function biasa di argumen ke-2.

// fungsi get dari class Route, memiliki argumen ke-2 yang berupa function juga (closure).
Route::get('/', function() {
	return 'Hello World';
});

Jalankan development server dan akses localhost:8080/ dan server akan meresponnya, kamu akan melihat tulisan “Hello World” di browser kamu.

Route Memiliki Beberapa Request Methods

Ini adalah request methods yang disediakan oleh Laravel

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::delete($uri, $callback);
Route::patch($uri, $callback);
Route::options($uri, $callback);

Route Dengan Parameter

Required Parameters.

Lihat code dibawah ini.

Route::get('/welcome/{name}', function($name) {
   return "Hello " . $name;
});

{name} sebuah parameternya, Jika kalian mengakses https://localhost:8000/welcome/maxrooted. maka server akan menampilkan tulisan “Hello maxrooted” di browser anda. Route akan mengambil bagian setelah /welcome/.

Optional Parameters.

Laravel juga menyediakan optional parameter, yang berarti walaupun tidak diisi server akan tetap memberikan response.

Route::get('/welcome/{name?}', function($name = null) {
   return "Hello " .$name;
});

Sedangkan router ini, jika kamu mengakses https://localhost:8000/welcome/. Di browser anda akan muncul tulisan “Hello” bila parameter tidak diisi.

Rendering View di Route Laravel

Jika kamu hanya bertujuan untuk menghasilkan view di sebuah route, mungkin kamu akan menggunakan view method. argumen pertama adalah URI, dan yang ke-2 merupakan nama view.

Route::view('/welcome', 'welcome');

Jika kamu ingin memberikan data array, letakkan itu sebagai argumen ke-3, seperti contoh dibawah ini.

Route::view('/welcome', 'welcome', ['name' => 'Maxrooted']);

Di dalam fresh installation Laravel, di web.php biasanya sudah ada 1 route di halaman index yang menampilkan view dengan nama welcome. Penampakannya seperti dibawah ini.

<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Terus kenapa? yang harus kalian perhatikan bahwa view bisa kita gunakan dengan route method get seperti diatas, berarti sejauh ini kita tahu ada 2 cara untuk menggunakan view di route Laravel, view dan get method.

Thanks.