Tutorial Lumen PHP Framework | Routing, Middleware, dan Controller
Tutorial Lumen PHP Framework | Routing, Middleware, dan Controller
Software pendukung operasi : Composer
Langkah pengerjaan :
1.
Buka CMD
·
Ketik composer create-project
--prefer-dist laravel/lumen [NAMA_PROJECT]
Contoh: composer create-project --prefer-dist laravel/lumen
belajarLumen
·
Pindah direktori ke folder
aplikasi yang baru dibuat : cd belajarLumen
·
Jalan server: php -S
localhost:8000 -t public
·
Lakukan percobaan di browser : http://localhost:8000/
2.
Lumen Routing
Routing digunakan untuk
menyediakan alamat path yang bisa di akses dan memberikan response atau
menjalankan fungsi tertentu. Fungsi ini biasanya diarahkan ke Controllers.
Untuk melakukan settingan
routing silahkan ikuti langkah-langkah dibawah ini:
·
Buka file belajarLumen/routes/web.php
·
Tambahkan code dibawah ini,
line 19-21
$router->get('/hello-lumen', function() {
return
"<h1>Lumen</h1><p>Hi good developer, thank for using Lumen</p>";
});
·
Tampilan ketika diakses melalui
alamat http://localhost:8000/hello-lumen
·
Untuk menambahkan parameter
yang dinamis, silahkan tambahkan code dibawah ini
$router->get('/hello-lumen/{name}', function ($name)
{
return
"<h1>Lumen</h1><p>Hi <b>" . $name
."</b>, thank for using Lumen</p>";
});
·
Tampilan ketika diakses melalui
alamat http://localhost:8000/hello-lumen/TEDC
3.
Lumen Middleware
Middleware adalah mekanisme atau metode untuk melakukan pembatasan
akses dalam menerima request dari user. Contoh, ketika user sudah login, user
bisa mengakses fitur daftar nilai, ketika belum login user tidak bisa mengakses
fitur daftar nilai. Secara flow nya seperti ini:
User -> akses halaman /scores -> jalankan middleware ->
ditangani oleh Routing
·
Buat file
app/Http/Middleware/LoginMiddleware.php, dengan code seperti dibawah ini:
<?php
namespace App\Http\Middleware;
use Closure;
class LoginMiddleware
{
public function handle($request, closure $next)
{
if
(!($request->input('username') == 'tedc' &&
$request->input('password') == 'rahasia'
))
{
return
"Anda tidak di ijinkan untuk mengakses data nilai, karena username dan password
anda salah.";
}
return
$next($request);
}
}
·
Edit file bootstrap/app.php,
edit menjadi seperti ini (kebetulan saya ada di line 79-82, line nya bisa
berbeda):
·
Edit file routes/web.php,
tambahkan code dibawah ini:
$router->get('/scores', ['middleware' => 'login',
function (){
return
"<h1>Selamat</h1><p>Nilai anda 100</p>";
}]);
·
Ketika anda mengakses halaman
http://localhost:8000/scores, makan tampilan seperti
ini:
·
Ketika anda mengakses halaman http://localhost:8000/scores?username=tedc&password=rahasia,
tampilanya seperti ini:
4. Lumen Controller
Controller adalah Struktur (Class dan function) di Lumen yang
digunakan untuk mengatur alur proses (business logic), baik untuk mengembalikan
response, menghubungkan ke model dan views maupun hanya menggunakan model saja.
1. Model adalah Struktur (Class dan function) di Lumen yang
digunakan untuk melakukan koneksi dan query ke Database.
2. View adalah template datau halaman untuk ditampilkan di browser.
User -> Path /scores -> Middleware (optional) -> Routing
-> Controller
·
Buat controller baru di
app/Http/Controllers/UsersController.php, dengan code dibawah ini:
<?php
namespace App\Http\Controllers;
class UsersController extends Controller
{
/**
*
Create a new controller instance.
*
*@return
void
*/
public
function __construct()
{
return
"Lumen Controller";
}
public
function index()
{
return
"Anda mendapatkan response ini dari <b>Controller</b>";
}
}
·
Edit file routes/web.php,
tambahkan code dibawah ini
$router->get('users',
'UsersController@index');
·
SIlahkan buka http://localhost:8000/users , tampilanya
seperti dibawah ini :
Komentar
Posting Komentar