PHP Lumen Database - Web Service

 Database Connection

- Edit file bootstrap/app.php, seperti dibawah ini :


                                             

- Buka file .env.  (C:\Users\admin\LumenServiceApp\.env)
setting seperti dibawah ini :


- Create database dengan nama ​lumen_service_app
    1. Aktifkan XAMPP (Apache dan MySql)
    2. Masuk ke http://localhost/phpmyadmin/
    3. Buat database dengan nama lumen_service_app

 

Database Migration

- Langkah pertama
    1. Buka cmd
    2. Masuk ke lumen kita, ketik cd LumenServiceApp
    3. Jalankan script dibawah ini php artisan make:migration create_posts_table
   

 
- Migration tersebut akan mebuat file di folder 
database/migrations/2019_10_12_030749_create_posts_table. Nama file nya akan berbeda-beda, tapi patternya sama, yakni:[tahun]_[bulan]_[tanggal]_[randon_number]_create_posts_table.php

- Buka file 
database/migrations/[tahun]_[bulan]_[tanggal]_[randon_number]_create_posts_table.php


syntaknya seperti ini :

?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->bigIncrements('id');

            $table->string('title',100);  
            $table->enum('status', array('draft','published'))->default('draft');  
            $table->text('content', 65535);  
            $table->integer('user_id')->index('user_id_foreign');  
            
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('posts');
    }

- Mengubah code migration diatas ke dalam bentuk tabel di SQL database,jalankan script dibawah ini.


- Langkah 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.

- Jika berhasil, maka ditabase kita akan ada dua table, dengan nama:

a. migrations
b. posts


Model

- Untuk memudahkan dalam memanage code, buat folder app/Models
- Buat file app/Models/Post.php, isi kodenya seperti ini


syntaknya seperti ini :

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    protected $fillable = array('title','content','status','user_id');
}

- Buat file controller app/Http/Controllers/PostsController.php, isi seperti ini


syntaknya seperti ini :

<?php  

 namespace App\Http\Controllers;  

 use App\Models\Post;  

 class PostsController extends Controller  
 {  
      public function index()  
      {  
           $posts = Post::OrderBy("id","DESC")->paginate(10);  
           $outPut = [  
                "message" => "posts",  
                "results" => $posts  
           ];  

           return response()->json($posts, 200);  
      }  
 }

- Buka file routes/web.php, tambahkan kode dibawah ini






API Client Tool

API client tool digunakan untuk mengakses API. Tool yang kita gunakan adalah Postman,silahkan install Postman dengan mengunjungi halaman ini ​https://www.getpostman.com​.











Comments

Popular posts from this blog

Konsep estetika gambar pada desain

Cloud Infrastructure Mechanism