Berkenalan dengan Fat-Free Framework (1)

2018-01-20 08:14:47

Jika anda mencari framework PHP yang modern, minimalis, mudah dipelajari, cukup lengkap tetapi tidak mengorbankan performanya maka salah satu pilihannya adalah Fat-Free Framework

A powerful yet easy-to-use PHP micro-framework designed to help you build dynamic and robust web applications - fast!



Salah satu hal yang memudahkan kita menggunakan sebuah framework yang baru adalah karena dokumentasinya yang lengkap dan mudah dipahami. Nah ini juga merupakan salah satu kelebihan Fat-Free Framework: Dokumentasinya lengkap dan mudah dipelajari. Memang penggunanya masih sedikit, sehingga kalaupun kita googling tidak akan menemukan banyak referensi dibanding framework seperti Laravel atau CI. Akan tetapi dokumentasinya sangat lengkap dan cukup mudah dipelajari, sehingga saya yang bukan programmer PHPpun bisa dengan mudah beradaptasi. Silakan kunjungi dokumentasi Fat-Free Framework untuk pelajari framework ini lebih detail, atau anda bisa mulai dari tulisan saya ini untuk mendapatkan gambaran awal.

Instalasi
Pastikan dikomputer anda sudah terinstall PHP dan Composer. Anda dapat menggunakan Wamp, XAMPP, MAMP or what ever asalkan PHPnya udah jalan mulus dikomputer anda. Yang perlu diingat Fat-Free membutuhkan PHP versi 5.4 atau yang terbaru. Fat-Free adalah framework PHP yang modern yang proses instalasinya dapat dilakukan menggunakan Composer. Untuk menginstall Fat-Free jalankan perintah berikut di folder tertentu :

$ composer require "bcosca/fatfree"

Tunggu beberapa saat untuk menyelesaikan proses download yang dilakukan oleh composer. Jika proses download sudah selesai maka di dalam folder tersebut akan ditemukan file composer.json dan folder vendor. Di dalam folder vendor inilah kita temukan library Fat-Free framework. 



Hello World
Di root folder aplikasi buatlah sebuah file index.php kemudian tuliskan kode program berikut 

require 'vendor/autoload.php';
$f3 = \Base::instance();
$f3->route('GET /',
    function() {
        echo 'Hello, world!';
    }
);
$f3->run();
Jika folder project anda berada dalam folder httdocs dari webserver anda maka anda bisa langsung mencoba menjalankan aplikasi ini melalui browser dengan alamat (umumnya) http://localhost/namaapp. Atau kalau anda ingin menjalan PHP dari command line anda bisa menjalankan perintah berikut

$ php -S localhost:80 -t ./

Pastikan command line anda aktif di folder aplikasi anda saat menjalankan perintah di atas. Selanjutnya silahkan jalan aplikasi melalui browser http://localhost. Anda akan melihat ouput di browser "Hello, world".

Routing Engine
Fat-Free framework memiliki routing engine yang canggih, kita bisa menambahkan routing aplikasi sesuai kebutuhan. Kita bisa membuat request untuk menghandle GET, POST, PUT, DELETE, OPTION. Update kode program di index.php seperti contoh berikut




route('GET /',
    function() {
        echo 'Hello, world!';
    }
);


$f3->route('GET /about',
    function() {
        echo 'Selamat belajar Fat-Free';
    }
);

$f3->route('POST /save',
    function() {
        echo 'POST request handler';
    }
);

$f3->route('PUT /put',
    function() {
        echo 'PUT request handler';
    }
);

$f3->route('DELETE /delete',
    function() {
        echo 'Delete request handler';
    }
);

$f3->run();

Tentunya untuk mencoba POST, PUT dan DELETE anda perlu tools seperti POSTMAN atau CURL dari command line. Saya menggunakan HTTPIE sebagai alternatif dari CURL agar saya bisa mengirimkan request menggunakan command line.


Contoh di atas saya memanggil memanggil request POST ke path /save dan outputnya seperti gambar di atas dengan string "POST request handler". Dengan cara yang sama anda bisa mencoba request PUT dan DELETE. 

Mungkin sampai disini dulu perkenalannya dengan Fat-Free Framework. Ditulisan yang akan datang kita akan melihat lebih jauh mengenai Fat-Free misalnya tentang database, orm, mvc, loging, cache dan lainnya.