Mengenal Slim Framework, Microframework Berbasis PHP

Friandy Dwi Noviandha 15 Februari 2017

Mengenal Slim Framework, Microframework Berbasis PHP

Apa yang terlintas di benak Anda jika mendengar kata-kata PHP Framework ? Ya, saya yakin yang akan terlintas di pikiran Anda adalah berbagai framework populer pada saat ini. Sebutlah beberapa, ada Laravel, Symfony, CodeIgniter, Yii, CakePHP, Zend Framework dan masih banyak lagi yang lainnya. Salah satu framework yang saat ini ada adalah Slim Framework.

Apa itu Slim Framework ?

Slim Framework dibangun oleh Josh Lockhart, seorang senior developer dari newmediacampaigns.com dan Ia adalah "The man behind" PHP The Right Way. Menurut Josh Lockhart, Slim Framework adalah :

"PHP micro framework that helps PHP developers quickly and easily write web applications and APIs. Think of it as a core set of tools with which a developer can build amazing things."

Dikatakan micro framework karena Slim adalah framework yang fokus pada kebutuhan pokok yang diperlukan sebuah aplikasi web seperti : menerima sebuah HTTP request, mengirimkan request tersebut ke code yang sesuai, dan mengembalikan HTTP response.

Micro framework biasanya digunakan untuk proyek skala kecil yang memiliki tujuan khusus dan tingkat kompleksitas yang rendah, sebagai contoh jika Anda ingin membangun sebuah API, maka akan lebih cepat, ringan dan efisien jika menggunakan micro framework daripada menggunakan fullstack framework (PHP Micro Frameworks VS Fullstack Frameworks). Beberapa contoh micro framework lainnya adalah Silex, Lumen, Phalcon, dan lain-lainnya.

Fitur-fitur Slim Framework

Fitur utama dari Slim framework adalah :

  • HTTP Router
  • Middleware
  • Dependency Injection
  • PSR-7 Support

Instalasi Slim Framework

Cukup dengan teori. Sekarang kita akan coba untuk menggunakan Slim Framework, untuk melakukan instalasi Slim Framework diperlukan tools Composer. Jika Anda sudah terbiasa menggunakan Composer, silahkan jalankan perintah di bawah ini pada terminal Anda :

composer require slim/slim "^3.0"
Instalasi Slim

Tunggu proses download selesai. Ketika proses selesai, maka Anda akan mendapati folder vendor di dalam direktori Anda. Sampai tahap ini, proses instalasi sudah berhasil.

Menggunakan Slim Framework

Setelah proses instalasi berhasil, berikutnya kita akan mencoba menggunakan Slim Framework.

Langkah 1

Buatlah struktur folder pada direktori kerja Anda seperti ini :

.
|── myproject
|   └─ public
|   └─ vendor

Langkah 2

Buatlah file index.php di dalam folder public, dan tuliskan kode berikut ini :

<?php

require '../vendor/autoload.php';

$app = new \Slim\App;

$app->get('/hello/{name}', function($request, $response) {
    $name = $request->getAttribute('name');
    $response->getBody()->write("Hello, $name");

    return $response;
});

$app->run();

Langkah 3

Coba akses pada web server local Anda :

localhost/<nama direktori>/index.php/hello/<nama anda>

localhost

Pada script diatas, kita menggunakan Slim Framework untuk membuat sebuah route dengan method GET yang akan menangkap sebuah parameter dari URL. Parameter tersebut berupa sebuah nama, yang akan ditampilkan pada browser. Silahkan mencoba mengganti parameter dengan nama yang lain :)

Langkah 4

Jika kita mengakses dengan tanpa menuliskan index.php pada URL, maka Anda akan mendapati sebuah peringatan Error 404 - Object not found, seperti pada gambar di bawah ini

not found

Untuk mengatasinya, Anda perlu menambahkan file .htaccess di dalam folder public dan isikan dengan kode berikut ini :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

Selanjutnya silahkan refresh halaman web Anda, maka Error 404 pun akan hilang.

no error 404

Demikian sedikit tentang Slim Framework. Slim Framework biasanya digunakan untuk membangun sebuah REST API, Insya Allah di artikel lainnya akan sedikit membahas tentang pembuatan REST API menggunakan Slim Framework. Untuk lebih jauh, silahkan melihat-lihat dokumentasi dari Slim Framework.

Selamat belajar. Selamat mencoba. Happy Coding !

Referensi