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
-
composer.json: File konfigurasi Composer yang mendefinisikan dependensi proyek. -
vendor/: Direktori tempat Composer menyimpan semua library yang diunduh. -
vendor/autoload.php: File autoloading yang dihasilkan oleh Composer untuk memuat kelas-kelas library secara otomatis. -
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!