Minggu, 24 Januari 2021

Tutorial PHP Lumen Service Docs

 Mempersiapkan Docs Generator

1. Install swagger-php plugins. Pada terminal/CommandPrompt ketikan:

composer require zircote/swagger-php

2. Membuat artisan command file. Buat file app/Console/Commands/SwaggerDocScanner.php

3. Buka file app/Console/Kernel.php, tambahkan code seperti line 16-17

4. Pada terminal/CommandPrompt jalankan: php artisan swaggerdoc:scan

5. Buat file public/api-docs.html, code nya seperti ini:

6. Run Lumen Server 

7. Pada browser buka http://localhost:8000/api-docs.html

8. Selesai

Membuat Dokumentasi API (Get Request)

1. Buka file app/Http/Controllers/Controller.php, tambahkan code seperti Line 7-21

2. Buka file app/Http/Controllers/Public/PostsController.php, tambahkan code seperti Line 11-25. 

3. Pada terminal/CommandPrompt jalankan: php artisan swaggerdoc:scan

4. Pada browser buka http://localhost:8000/api-docs.html

5. Klik button GET

Membuat Dokumentasi API (Post Request)

1. Buka file app/Http/Controllers/AuthController.php, tambahkan code seperti Line 11-44

2. Pada terminal/CommandPrompt jalankan command: php artisan swaggerdoc:scan

3. Pada browser buka http://localhost:8000/api-docs.html 

4. Kalau button POST

Sabtu, 23 Januari 2021

Tutorial PHP Lumen Client App

Membuat Aplikasi 

Untuk instalasinya dua cara: 

1. Via Lumen Installer 

a. composer global require "laravel/lumen-installer" 

b. lumen new [NAMA_PROJECT]

c. Contoh: lumen new LumenClientApp 

2. Via Composer Installer  

a. composer create-project --prefer-dist laravel/lumen [NAMA_PROJECT] 

b. Contoh: composer create-project --prefer-dist laravel/lumen LumenClientApp

3. Jangan lupa koneksi internetnya harus dalam keadaan aktif.

4. Dibawah ini adalah proses instalasinya.

Dan ini ketika sudah berhasil instalnya.

5. Jalankan script ini di terminal/command prompt: 

cd LumenClientApp> php -S localhost:9000 -t public

Dan dibawah ini tampilan ketika berhasil dijalankan.

6. Kemudian buka http://localhost:9000 di browser.

Membuat Fungsi Untuk Mengakses Web Service JSON (Get Request)

1, Buka Project  LumenClientApp tadi. Kemudian Buka file routes/web.php, 
tambahkan code seperti pada line 18.


2. Buat controller dengan nama app/Http/Controllers/PostsController.php, 
tambahkan code seperti ini:


3. Buat file view dengan nama resources/views/posts/getRequestJson.php.
tambahkan code seperti ini:


4. Buka halaman http://localhost:9000/posts/get-request-json di browser

5. Selesai

Membuat Fungsi Untuk Mengakses Web Service XML (Get Request)

1. Buka file routes/web.php, tambahkan code dibawah ini, line 19


2. Buat controller dengan nama app/Http/Controllers/PostsController.php, 
buat function getRequestXml.


3. Buat file view dengan nama resources/views/posts/getRequestXml.php.
tambahkan code seperti ini:

4. Buka halaman http://localhost:9000/posts/get-request-xml di browser

5. Selesai

Membuat Fungsi Untuk Mengakses Web Service JSON (Post Request)

1. Buka file routes/web.php, tambahkan code dibawah ini, line 20

2. Buat controller dengan nama app/Http/Controllers/PostsController.php, buat function postRequestJson.

3. Buat file view dengan nama resources/views/posts/postRequestJson.php.

4. Buka halaman http://localhost:9000/posts/post-request-json di browser.

5. Selesai




Selasa, 19 Januari 2021

Tutorial PHP Lumen Upload Media

 Membuat Table profiles

1. Membuat database migration dengan jalankan cmd: php artisan make:migration create_profiles_table 

2. Buka file database/migrations/...create_profiles_table.php, dan ubah

3. Jalankan cmd ketikan: php artisan migrate

4. Selesai

Membuat Model Profile 

1. Buat file baru dengan nama app/Models/Profile.php

2. Selesai

Membuat Fungsi Create dan Update Profile

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

2. Buat file baru app/Http/Controllers/ProfilesController.php, 

3. Test fungsi create or update profiles menggunakan postman


4. Selesai

Membuat Fungsi Get Profile

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


2. Buat file baru app/Http/Controllers/ProfilesController.php, tambahkan function show


3. Test fungsi get profiles menggunakan postman


4. Selesai

Membuat Fungsi Get Image Profile 

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


2. Buat file baru app/Http/Controllers/ProfilesController.php, tambahkan fungsi image


3. Test fungsi get image profiles menggunakan postman

4. Selesai
















Tutorial PHP Lumen Resource Relationship

 Menambahkan Fungsi Public Read

Langkah-langkahnya adalah sebagai berikut:

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

2. Buat file controller baru dengan nama app/Http/Controllers/PublicController/PostsController.php 

3. Buka file app/Models/Post.php, tambahkan code 

4. Buka file app/Models/User.php, tambahkan code

5. Buka url http://localhost:8000/public/posts?page=1 di postman:

6. Buka url http://localhost:8000/public/post/2 di postman:

7. selesai




Minggu, 17 Januari 2021

Tutorial PHP Lumen Authorization

Langkah-langkahnya adalah seperti berikut ini:

1. Membuat Database Migration dengan menjalankan cmd

php artisan make:migration add_role_to_users_table --table=users


2. Buka file database/migrations/..._add_role_to_users_table.php, dan ubah


3. Jalankan cmd : php artisan migrate


4. Secara default column role yang sudah terdaftar di database menjadi role=reader. 
5. Kita akan memerlukan 3 users dengan role yang berbeda, silahkan bikin user dengan role: - admin - editor - reader 
6. Selesai 

Kebutuhan User Role
Setiap role dari user, memiliki kemampuan yang berbeda-beda, yaitu: 
1. Admin 
- Bisa read all posts 
- Bisa read detail post 
- Bisa create posts 
- Bisa update post 
- Bisa delete post 
2. Editor 
- Bisa read all posts (yang dibuat oleh user yang lagi login) 
- Bisa read detail post (yang dibuat oleh user yang lagi login) 
- Bisa create posts 
- Bisa update post (yang dibuat oleh user yang lagi login) 
- Bisa delete post (yang dibuat oleh user yang lagi login) 
3. Reader - Bisa read all posts - Bisa read detail post - Bisa memberikan comment pada post tertentu 
4. Selesai

Membuat Logika Policy Pada Read All Post 
1. Buka file app/Providers/AuthServiceProvider.php, codenya seperti ini.
Lihat pada bagian line 5 - 6 dan line 34 - 43. 


2. Buka file app/Http/Controllers/PostsController.php, tambahkan Gate class dan ubah function index. Lihat line 8 dan line 19 - 37.


3. Login dengan user yang role = ‘user’, 


4. Login dengan user yang role = ‘admin’ atau ‘editor’,


5. Selesai

Membuat Logika Policy Pada Update Post

1. Buka file app/Providers/AuthServiceProvider.php, codenya seperti dibawah. Lihat line 43 - 54.\\


2. Buka file app/Http/Controllers/PostsController.php, ubah function update. Lihat diline 116 - 133.


3. Login dengan user yang role = ‘user’, 


4. Login dengan user yang valid authorization nya, 


5. Selesai


















 

Setting Up VM and Domain

  Membuat Folder Khusus Aplikasi - Login SSH terlebih dahulu - Ketikan PWD - Buat folder dengan mengetikan seperti dibawah - Kemudian la...