Senin, 28 Oktober 2019

PHP Lumen Rest CRUD




Lumen adalah Micro-framework yang diciptakan pengembang Laravel untuk mengakomodasi kebutuhan developer yang ingin membuat aplikasi dalam skala lebih kecil dari Laravel. Karena banyak library yang dihilangkan dalam bundle source code, Lumen bisa dijadikan framework untuk membuat REST API.


Deskripsi
Tutorial ini melanjutkan project dari tutorial sebelum nya dengan nama ‘PHP Lumen Database’.
Kita akan membuat service menggunakan PHP Lumen yang bisa melakukan aksi CRUD
(Create, Read, Update, Delete) berdasarkan pada Restful API Design. 

Tujuan praktek ini adalah untuk:
1. Mampu implementasi Restful API
2. Memahami HTTP Verbs
3. Mampu membuat function untuk Insert Data ke Database (Create)
4. Mampu membuat function untuk Read Data dari Database (Read)
5. Mampu membuat function untuk Update Data ke Database (Update)
6. Mampu membuat function untuk Delete Data dari Database (Delete)

Prasyarat
Harus menyelesaikan dulu modul dengan judul PHP Lumen Database’.

Endpoint
Dibawah ini adalah Endpoint yang akan implementasikan berdasarkan Restful API Design:


Fungsi Create
Untuk membuat fungsi create, mari kita ikuti langkah-langkah berikut ini:


1. Buka file routes/web.php, dan tambahkan code ini




2. Buka file app/Http/Controllers/PostsController.php dan tambahkan code ini: Lihat line 6
dan line 26-32. Untuk function index sudah kita buat di module sebelumnya.




3. Buka file app/Models/Post.php dan tambahkan code ini untuk untuk melakukan update
field created_at dan updated_at secara otomatis: Line 16




4. Buka aplikasi Postman untuk melakukan pengetesan. ini adalah tampilan
Postman untuk melakukan testing dan berhasil.




Fungsi Read All
Untuk membuat fungsi read all, anda hatrus menyelesaikan dulu module ‘PHP Lumen
Database’. Implementasi di controller nya adalah fungsi index di PostsController.php:


1. Buka aplikasi Postman untuk melakukan pengetesan. Ini adalah tampilan
Postman untuk melakukan testing dan berhasil.




Fungsi Read Detail
Untuk membuat fungsi read detail, mari kita ikuti langkah-langkah berikut ini:


1. Buka file routes/web.php, dan tambahkan code ini




2. Buka file app/Http/Controllers/PostsController.php dan tambahkan code ini: Lihat line
33-44.




3. Buka aplikasi Postman untuk melakukan pengetesan. Ini adalah tampilan
Postman untuk melakukan testing dan berhasil.




Fungsi Update
Untuk membuat fungsi Update, mari kita ikuti langkah-langkah berikut ini:


1. Buka file routes/web.php, dan tambahkan code ini:




2. Buka file app/Http/Controllers/PostsController.php dan tambahkan code ini: Lihat line
46-61.




3. Buka aplikasi Postman untuk melakukan pengetesan. Ini adalah tampilan
Postman untuk melakukan testing dan berhasil.




Fungsi Delete
Untuk membuat fungsi delete, mari kita ikuti langkah-langkah berikut ini:


1. Buka file routes/web.php, dan tambahkan code ini:




2. Buka file app/Http/Controllers/PostsController.php dan tambahkan code ini: Lihat line
63-76.




3. Buka aplikasi Postman untuk melakukan pengetesan. Ini adalah tampilan
Postman untuk melakukan testing dan berhasil.

Jumat, 25 Oktober 2019

PHP Lumen Database




Lumen adalah Micro-framework yang diciptakan pengembang Laravel untuk mengakomodasi kebutuhan developer yang ingin membuat aplikasi dalam skala lebih kecil dari Laravel. Karena banyak library yang dihilangkan dalam bundle source code, Lumen bisa dijadikan framework untuk membuat REST API.

Deskripsi
Tutorial ini melanjutkan project dari tutorial sebelum nya dengan nama ‘PHP Lumen Service
App’. Kita akan membuat service menggunakan PHP Lumen yang bisa melakukan query ke
database. Tujuan praktek ini adalah untuk:
1. Mampu membuat koneksi ke database dari Lumen
2. Mampu membuat database migration
3. Mampu melakukan query ke database


Database Connection

Untuk melakukan setting database, mari kita ikuti langkah-langkah dibawah ini:


1.Edit file bootstrap/app.php, uncomment:




2.Buka file .env. Ubah settingan sesuaikan dengan kebutuhan




3.Buat database dengan nama lumen_service_app, sesuai dengan settingan .env file


Database Migration
Database migration digunakan untuk melakukan DDL pada SQL database dengan
menggunakan code PHP. Untuk membuat database migration, mari ikuti langkah-langkah

dibawah ini:


4.Pertama kita akan membuat table posts. Untuk membuat table posts jalankan script 

php artisan make:migration create_posts_table




5.Migration tersebut akan mebuat file di folder database/migrations/[tahun]_[bulan]_[tanggal]_[randon_number]_create_posts_table.php.




6.Open file database/migrations/[tahun]_[bulan]_[tanggal]_[randon_number]_create_posts_table.php, kemudian edit function up menjadi seperti ini 




7.Untuk mengubah code migration diatas ke dalam bentuk tabel di SQL database, jalankan script.

8.Untuk pertama kali melakukan migration, kita akan dibuatkan satu table dengan nama migrations. Table ini digunakan Lumen untuk mencatat file migration mana saja yang sudah dijalankan.

9.Kalau berhasil, maka ditabase kita akan ada dua table, dengan nama:
a. migrations 
b. posts


Model
Model digunakan untuk melakukan koneksi dan query ke Database. Untuk membuat model,
mari ikuti langkah-langkah dibawah ini:


10.Buat file app/Models/Post.php, code nya seperti ini




11.Buat file controller app/Http/Controllers/PostsController.php, code nya seperti ini




12.Buka file routes/web.php, tambahkan code.




13.Buka di browser http://localhost:8000/posts, tampilanya seperti ini

Kamis, 17 Oktober 2019

Membuat Crud File (Sound) dengan Grocery Crud di CodeIgniter.

Grocery Crud adalah library open source yang digunakan untuk melakukan generate fitur CRUD (Create Read Update Delete) secara otomatis pada aplikasi berbasis web yang dibuat menggunakan framework CodeIgniter.

Sebelum melakukan tutorial dibawah ini, pastikan sudah menghilangkan konfigurasi khusus untuk menghilangkan pemanggilan index.php dalam url yang bisa dilihat di tutorial berikut ini: https://rizky-hard.blogspot.com/2019/10/cara-mengilangkan-indexphp-di.html.

dan juga bagaimana cara mengubah bahasa komponen di Grocery Crud menjadi bahasa Indonesia, tutorial nya dapat dibaca di sini : 




1. Langkah awal download Framework CodeIgninter nya di https://codeigniter.com.




2. Selanjutnya download Library Grocery Crud di https://grocerycrud.com.




3. Ekstrak file grocery-crud-1.6.3.zip kedalam project CodeIgniter.




4. Selanjutnya membuat database di PHPMyAdmin dengan nama db_codeigniter.




5. Jalankan SQL dibawah ini di phpMyAdmin untuk membuat tabel pada database yaitu tb_sound.

CREATE TABLE IF NOT EXISTS `tb_sound` (
  `ID` char(10) NOT NULL,
  `FileName` varchar(50) NOT NULL,
  `FileType` varchar(50) NOT NULL,
  `FileExt` varchar(50) NOT NULL,
  `FileGroup` varchar(50) NOT NULL,
  `FileContent` varchar(50) NOT NULL,
  `FileDesc` varchar(50) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;




6. Selanjutnya ubah konfigurasi database pada folder application/config/database.php.




7. Selanjutnya masuk ke dalam folder Assets > Uploads dan buat folder baru dengan nama sound.




8. Setelah membuat folder selanjutnya buat Controller pada folder application > controllers ,beri nama file Controller nya dengan nama Main.php dan isi dari file nya sebagai berikut.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Main extends CI_Controller {
public function __construct()
{
  parent::__construct();
  $this->load->database();
  $this->load->helper('url');
  $this->load->library('grocery_CRUD');
}
public function sound()
{
  $crud = new grocery_CRUD();
  $crud->set_table('tb_sound');
  $crud->set_subject('File suara');
  $crud->set_field_upload('FileContent','assets/uploads/sound');
  $output = $crud->render();
  $this->_example_output($output);
}
public function _example_output($output = null)
{
  $this->load->view('example.php', $output);
}
}




9. Sekarang cek hasil nya dengan menjalankan url : localhost/codeigniter/Main/sound
Apabila tidak ada kesalahan akan tampil seperti berikut.