Pertama - tama yang harus dipersiapkan adalah :
1. PHP versi 7.x (Pada tutorial ini saya menggunakan PHP 7).
2. Composer https://getcomposer.org/download/
3. Web Server (Apache/ Nginx).
4. Editor seperti notepad++ atau yang sejenisnya.
Atau bisa menggunakan XAMPP/ Laragon. Di aplikasi tersebut sudah ada PHP, Mysql,Git, dan aplikasi pendukung lainya.
Laragon https://laragon.org/download/.
Apabila persiapan sudah selesai, lalu create project nya melalui composer
1. Membuat koneksi ke database dari Lumen.
2. Membuat database migration.
3. Melakukan query ke database.
Sesudah selesai di buat, buka project nya di editor yang anda pakai.
Buat terlebih dahulu database dengan nama php_lumen_service_app pada tutorial ini menggunakan Mysql. Untuk membuatnya bisa masuk ke database tools menggunakan phpmyadmin atau langsung masuk ke console nya.
Buka file app.php di dalah folder bootstrap, lalu hapus comment pada
$app->withFacades(); -> untuk menggunakan Facade yang ada di Laravel.
$app->withEloquent(); -> untuk menggunakan library Eloquent.
Buka file .env dan lakukan konfigurasi database nya dengan mengubah :
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=lumen_service_app
DB_USERNAME=root
DB_PASSWORD=(disesuaikan)
lalu buat migraion / tabel dengan menggunakan fungsi bawaan dari laravel degan ketik php artisan make:migration create_post_table (disesuaikan dengan nama yang anda inginkan)
akan ada file baru di folder database/migraions file yang kita buat migrasinya. Lalu ubah di dalamnya sesuai keinginan. Disini saya akan membuat tabel post.
/**
* 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');
}
untuk menjalankan migrasinya ketikan php artisan migrate. Jika berhasil, tabel nya akan terbuat secara otomatis.
Selanjutnya buat Modelnya pada contoh ini saya akan membuat folder Models di dalam folder app untuk menampung semua model - model yang akan dibuat.
buat file Post.php dan tambahkan code :
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $table ='posts';
protected $fillable = array('title','content','status','user_id');
}
Setelah selesai buat PostController controller di app/http/controllers/
lalu masukan code :
<?php
namespace App\Http\Controllers;
use App\Models\Post;
class PostController extends Controller
{
public function index()
{
$post = Post::OrderBy("id", "DESC")->paginate(10);
$output = [
"message"=>"posts",
"results"=>$post
];
return response()->json($output, 200);
}
}
dan yang terakhir tambahkan route ke controller tersebut. Tambahkan code berikut di web.php di routes/
$router->get('/post', 'PostController@index');
Untuk mengechek service yang telah kita buat, menggunakan API Client Tools seperti postman
Jalankan terlebih dahulu aplikasi nya dengan ketik php -S localhost:8000 -t public
Buka posman nya lalu ikuti langkah dibawah ini
jika pada saat tombol send di click dan mendapatkan response nya, berarti servis yang tadi dibuat berhasil.
Labels:
PHP
0 Komentar untuk "Membuat Service PHP Menggunakan Lumen Framework"