Contoh project sederhana dengan menggunakan composer

Contoh project sederhana dengan menggunakan composer

Berikut adalah contoh proyek sederhana menggunakan Composer. Proyek ini akan menggunakan library Monolog untuk mencatat pesan log ke file. Monolog adalah library logging populer di PHP.


Langkah 1: Buat Direktori Proyek

Buat direktori baru untuk proyek Anda:

mkdir my-composer-project
cd my-composer-project

Langkah 2: Inisialisasi Composer

Jalankan perintah berikut untuk membuat file composer.json:

composer init

Anda akan diminta untuk mengisi beberapa informasi, seperti nama proyek, deskripsi, penulis, dan lain-lain. Anda bisa menekan Enter untuk menggunakan nilai default jika tidak yakin.

Setelah selesai, file composer.json akan dibuat.


Langkah 3: Tambahkan Dependency (Monolog)

Tambahkan library Monolog sebagai dependency dengan menjalankan perintah berikut:

composer require monolog/monolog

Ini akan mengunduh Monolog dan semua dependensinya ke direktori vendor/ dan memperbarui file composer.json.


Langkah 4: Buat File PHP

Buat file PHP untuk menggunakan Monolog. Misalnya, buat file index.php:

touch index.php

Buka file index.php dan tambahkan kode berikut:

<?php
require 'vendor/autoload.php';

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// Buat instance Logger
$log = new Logger('my-app');
$log->pushHandler(new StreamHandler('logs/app.log', Logger::INFO));

// Catat pesan log
$log->info('Ini adalah pesan info');
$log->warning('Ini adalah pesan warning');
$log->error('Ini adalah pesan error');

echo "Log telah ditulis ke logs/app.log\n";

Langkah 5: Jalankan Proyek

Jalankan proyek Anda dengan perintah berikut:

php index.php

Jika berhasil, Anda akan melihat pesan:

Log telah ditulis ke logs/app.log

Langkah 6: Periksa File Log

File log akan dibuat di direktori logs/app.log. Periksa isinya dengan perintah:

cat logs/app.log

Anda akan melihat output seperti ini:

[2023-10-10T12:34:56.789012+00:00] my-app.INFO: Ini adalah pesan info [] []
[2023-10-10T12:34:56.789012+00:00] my-app.WARNING: Ini adalah pesan warning [] []
[2023-10-10T12:34:56.789012+00:00] my-app.ERROR: Ini adalah pesan error [] []

Struktur Proyek

Setelah selesai, struktur proyek Anda akan terlihat seperti ini:

 
my-composer-project/
├── vendor/
├── logs/
│   └── app.log
├── composer.json
├── composer.lock
└── index.php

Penjelasan

  1. composer.json: File konfigurasi Composer yang mendefinisikan dependensi proyek.

  2. vendor/: Direktori tempat Composer menyimpan semua library yang diunduh.

  3. vendor/autoload.php: File autoloading yang dihasilkan oleh Composer untuk memuat kelas-kelas library secara otomatis.

  4. logs/app.log: File log yang dibuat oleh Monolog.


Cara Menambahkan Dependency Lain

Jika Anda ingin menambahkan library lain, cukup jalankan perintah composer require. Misalnya, untuk menambahkan library guzzlehttp/guzzle (HTTP client):

composer require guzzlehttp/guzzle

Dengan Composer, Anda dapat dengan mudah mengelola dependensi dan membuat proyek PHP yang terstruktur. Selamat mencoba!