Sabtu, 31 Oktober 2020

Membuat PHP Lumen Rest API CRUD


Mohon maaf jika gambar rusak anda bisa mendownload pdf disini lumen CRUD.pdf

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 :

  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)

A.    Membuat tabel

Kita akan membuat sebuah tabel baru dengan nama banks di database tutorial sebelumnya. Untuk struktur tablenya sebagai berikut:
- id
- Nama Bank
- Nama
- Saldo

1.      Jalankan  Xamp dan buka Command Prompt

Buka Command Prompt(CMD) lanjut Buka direktori folder projek lumennya.lalu ketik php artisan make:migration banks kemudian Enter. jika berhasil maka akan tampil sepereti ini

 

 

            jika sudah berhasil maka pada projeck kita maka akan tampil seperti gambar berikut

              

2.      Setelah itu buka file tersebut lanjut tambahkan beberapa script didalam functionnya saja, untuk membuat strukur tabel yang akan kita buat.

               

3.      Migrasikan file tersebut 

Buka kembali CMD lalu ketikan php artisan migrate, jika berhasil maka akan tampil seperti berikut

 

jika langkah diatas berhasil maka pada database akan tampil seperti berikut

             

 

B.     Membuat Fungsi Read All dan Model

1.      Buat terlebih dahulu routes terlebih dahulu di file "routes\web.php"

              

2.      kemudian kita membuat Controller dengan nama BanksController di folder "app \Http \Controllers\"dan fungsi read all dengan Masukan script public function index()script seperti ini

             

3.      Lanjut buat file lagi dengan nama Bank di folder "Models\Bank.php" dan masukan script ini.

             

4.      Selanjutnya kita akan melakukan test apakah sudah terhudung dengan table suers dengan cara ke CMD dan masih di direktori projek kita dan ketik

php -S localhost:8000-tpublic
jika berhasil tampilannya sebagai berikut:

               

 

5.      Untuk tes buka software Postman dan di url http://localhost:8000/users/ dengan tipe GET.
jika berhasil maka akan tampil seperti gambar dibawah ini karena kita belum memasukan data dengan fungsi create:

                

C.    Membuat 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/BanksController.php" dan tambahkan  code function ini:

       

3.      Buka aplikasi Postman Isi seusai dengan kolom/field yang ada ditable users ,tipe nya adalah POST bukan GET

       

D.    Membuat Fungsi Read

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/BanksController.php" dan tambahkan code ini:

  

 

3.      Buka aplikasi Postman untuk melakukan pengetesan. Pstikan tipenya GET. Dibawah ini adalah tampilan Postman untuk melakukan testing dan berhasil.
http://localhost:8000/bank/[id] 

E.     Membuat Fungsi Update

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/BanksController.php" dan tambahkan code ini:

              

 

 

 

3.      Buka aplikasi Postman untuk melakukan pengetesan. Pastikan tipenya PUT. Dibawah ini adalah tampilan Postman untuk melakukan testing dan berhasil.
http://localhost:8000/bank/[id] 

F.     Membuat Fungsi Delete

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/BanksController.php" dan tambahkan code ini:

 

3.      Buka aplikasi Postman untuk melakukan pengetesan. Pastikan tipenya DEL. Dibawah ini adalah tampilan Postman untuk melakukan testing dan berhasil.
http://localhost:8000/bank/[id] 

Dan selesai, itu adalah cara membuat REST CRUD pada PHP Lumen , semoga bermanfaat


Sabtu, 24 Oktober 2020

Database PHP LUMEN

Tutorial Menggunakan PHP Lumen yang bisa Melakukan Query ke Database  Kali ini kita akan membuat tutorial menggunakan PHP Lumen yang bisa melakukan query ke database, tujuannya mampu membuat koneksi ke database dari Lumen kemudian mampu membuat database migration dan melakukan query ke database

Mohon Maaf bila gambar rusak anda bisa download file pdf disini koneksi database.pdf

1.      Database Connection


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

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

     $app->withFacades();

     $app->withEloquent();

perhatikan perubahannya

        


disini saya buat menjadi

             

B.     Buka file .env. Ubah settingan dibawah ini sesuaikan dengan kebutuhan  seperti gambar dibawah ini

                 

 

C.     Create database dengan nama data_bank, sesuai dengan settingan .env file.

                

 

2.      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:

A.    Pertama kita akan membuat table banks. Untuk membuat table banks jalankan script dibawah ini

             php artisan make:migration banks


Kalau berhasil, tampilan terminalnya seperti ini

             


 

 

B.     Migration tersebut akan mebuat file di folder database /migrations /2021_01_26_021824 _banks.php Nama file nya akan berbeda-beda,

 

 

C.     Open File Tersebut lalu ubah pada function up menjadi seperti dibawah ini (line 17-22)

 

             

 

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

php artisan migrate

jika berhasil maka tampilannya akan tampil seperti ini :

 

            

 

 

E.     Jika berhasil, maka di database kita akan ada dua table, dengan nama migrations dan banks

              

 

Dan selesai, itu adalah cara menghubungkan PHP Lumen dengan database, semoga bermanfaat


Sabtu, 17 Oktober 2020

Tutorial Lumen PHP Framework | Routing, Middleware, dan Controller

 

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 :

Cloud Computing

  Tujuan Mempelajari Cloud Computing Setelah membaca sedikit terkait pengenalan dasar Cloud Computing. Saya berharap dengan mengikuti mata k...