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
?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
- Jika berhasil, maka ditabase kita akan ada dua table, dengan nama:
a. migrations
b. posts
- Untuk memudahkan dalam memanage code, buat folder app/Models
- Buat file app/Models/Post.php, isi kodenya seperti ini
- 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
- Buka di browser http://localhost:8000/posts
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
Post a Comment