- Faham pemrograman PHP
- Faham query MySQL
- Faham JSON
- Kopi :D biar ga ngantuk
TEORI REST
REST merupakan kependekan dari representational state transfer. Menurut REST Api Tutorial,REST adalah mekanisme alternatif yang lebih ringan dibandingkan RPC, SOAP, atau CORBA.
REST menggunakan HTTP Verb untuk melakukan proses operasi. Berikut adalah sejumlah HTTP Verb yang umum digunakan :
- GET, mendapatkan response berupa xml, json atau text
- HEAD, memberikan response berupa metadata
- POST, melakukan proses penciptaan data baru dengan mengirim request body berupa form-data, x-www-form-urlencoded, atau lainnya
- PUT, melakukan proses update terhadap suatu data dengan mengirim request body dan id dari suatu data
- DELETE, menghapus sebuah data berdasarkan id atau parameter tertentu
- 200, resource yang diinginkan ada
- 404, resource yang diinginkan tidak ada
- 500, terjadi error saat meminta resource
- 201, resource baru telah diciptakan
- dll
TEORI SILEX
Silex sendiri merupakan sebuah micro web framework yang dikembangkan oleh SensioLabs dengan berbasiskan komponen - komponen Symfony. Ukuran file source code mentahnya pun terhitung ringan. Silex berukuran sebesar 1.6 MB sudah termasuk dependency library bawaan yang dikelola menggunakan Composer.
Tulisan teori diatas bersumber dari : codepolitan.com
PERLENGKAPAN PERANG
Pada tutorial kali ini saya menggunakan sistem operasi Windows 8. Berikut ini perlengkapannya :
- XAMPP (pengguna Windows maupun Linux) atau boleh kalau yang mau konfigurasi Web Server sendiri :D. Kalau ditutorial ini menggunakan XAMPP
- CLI, Terminal (Linux), Command Prompt atau Windows PowerShell
- Composer, cara-cara instalasi Composer di Windows dapat dilihat disini http://www.jurnalweb.com/tutorial-cara-menginstall-composer-di-windows-linux-mac/
- Code Editor, disesuaikan selera hati. Code Editor favorit saya Sublime Text
- Advanced REST Client, aplikasi yang digunakan untuk menjajal web service REST. Advanced REST Client merupakan aplikasi dari chrome
- Silex, dapat diunduh dari website resminya disini http://silex.sensiolabs.org/download, pilih yang Silex as a "slim"
MARI MULAI!
Ekstrak Silex di folder htdocs, kemudian ganti nama menjadi resto. Selanjutnya buka folder resto/web, didalamnya terdapat file index.php, editlah file tersebut menggunakan code editor sesuka anda.
<?php
require_once __DIR__.'/../vendor/autoload.php';
$app = new Silex\Application();
$app->get('/hello', function () {
return 'Hello World!';
});
$app->run();
*
require_once __DIR__.'/../vendor/autoload.php' = memanggil library autoload.php
didalam folder vendor
*
$app = new Silex\Application()
= membuat sebuah objek Silex $app yang
menginstansiasi dari function Application
*
$app->get('/hello', function () = mendefinisakan URL /hello dengan method GET
Lalu silahkan coba akses URL http://localhost/resto/web/index.php/hello menggunakan method GET pada aplikasi Advanced REST Client. Hasilnya akan menampilkan Hello World! seperti ini :Selanjutnya definisikan URL /resto dengan method GET.
<?php
require_once __DIR__.'/../vendor/autoload.php';
$app = new Silex\Application();
$app->register(new Silex\Provider\DoctrineServiceProvider(), array(
'db.options' => array(
'driver' => 'pdo_mysql',
'host' => '127.0.0.1',
'dbname' => 'tes_rest',
'user' => 'root',
'password' => '',
'charset' => 'utf8',
),
));
$app->get('/hello', function () {
return 'Hello World!';
});
$app->get('/resto', function () use ($app){
$query = "SELECT * FROM t_resto";
$resto = $app['db']->fetchAll($query);
return $app->json( array ('msg' => 'Sukses', 'result' => $resto) );
});
$app->run();
Untuk membuat konfigurasi database MySQL dengan Silex, tambahkan dulu Dependency nya menggunakan composer, anda bisa buka file composer.json, lalu isi seperti ini :
{
"require": {
"silex/silex": "~1.1",
"doctrine/dbal": "2.2.*"
}
}
Jika sudah install composer, langsung saja buka CLI nya, saya menggunakan Windows PowerShell. Pindah direktori ke folder dimana aplikasi Silexnya tersimpan, yaitu di htdocs. Lalu ketik composer update.
Setelah selesai melakukan update pada composer, lalu akses URL http://localhost/resto/web/index.php/resto menggunakan method GET pada aplikasi Advanced REST Client, hasilnya berbentuk format JSON seperti ini :
Sekian, semoga bermanfaat :)
MMF
0 komentar:
Posting Komentar