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 :

Tidak ada komentar:
Posting Komentar