Package dalam konteks pengembangan perangkat lunak merupakan unit kode yang berdiri sendiri dengan menyediakan fungsionalitas atau fitur tertentu.
Tujuan dari dibuatnya pacakage yaitu agar dapat digunakan kembali dan dapat diintegrasikan ke dalam project atau aplikasi yang berbeda.
Composer merupakan alat menajemen untuk PHP. Composer dapat menyederhanakan proses pengelolaan pustaka dan paket ekseternal dalam proyek PHP.
Dengan menggunakan composer dapat membantu anda dengan mudah untuk mendeklarasikan dependensi yang diperlukan oleh proyek PHP anda. Composer akan secara otomatis mendownload dan menginstal dependensi tersebut untuk anda.
Pada tutorial ini kita akan membuat composer PHP package calculator discount sederhana. Mari ikuti langkah-langkahnya.
Membuat Composer Package
Silahkan buat folder terlebih dahulu dengan nama package-calculator-discount. ketik perintah berikut ini di terminal anda.
mkdir package-calculator-discount && cd package-calculator-discount
Perintah di atas akan membuat folder package-calculator-discount dan masuk ke folder package-calculator-discount yang baru kita buat.
Setiap package composer harus memiliki file composer.json di folder root. File composer.json bertujuan untuk menyimpan informasi tentang sebuah package.
Silahkan kalian ketik perintah berikut untuk membuat file composer.json
composer init
Setelah kalian menjalankan perintah di atas, maka akan muncul output seperti berikut ini.
Package name (<vendor>/<name>) [your-name/package-discount-calculator]:
- vendor merupakan nama pembuat package (bisa diisi dengan nama anda)
- name meruoakan nama package anda
Kemudian nanti anda juga akan diminta untuk mengisi deskripsi package anda
Setelah itu mengisi infomasi pembuat package
Pada tahap selanjutnya anda akan diminta stabilitas min, anda dapat melewatinya langsung, serta jenis package dan lisensi.
Kemudian anda akan melihat pertanyaan seperti berikut.
Would you like to define your dependencies (require) interactively [yes]?
Silahkan ketik n lalu enter.
Kemudian ada pertanyaan seperti berikut ini.
Would you like to define your dev dependencies (require-dev) interactively [yes]?
Dan silahkan ketik n lalu enter.
Terkahir terdapat pertanyaan untuk konfirmasi.
Do you confirm generation [yes]?
Silahkan ketik yes lalu enter.
Kemudian langkah selanjutnya kita dapat membuat autoloaders untuk memuat file kita. Silahkan buka file composer.json lalu ganti bagian autoload menjadi seperti ini.
"autoload": { "psr-4": { "Dimpurw\\Discount\\": "src/" } },
Disini kita akan memuat otomatis semua kelas di dalam src dengan namespace Dimpurw\Discount. Sekarang silahkan kalian buat folder dengan nama src kemudian di dalam folder src kalian buat file discount.php
Silahkan copy kode berikut lalu paste ke file discount.php
<?php namespace Dimpurw\Discount; class Discount { }
Perhatikan namespace Dimpurw\Discount ini berarti akan dimuat secara otomatis ke vendor.
Oke langkah selanjutnya kita akan membuat fungsi untuk calculator discount, sehingga file discount.php menjadi seperti berikut.
<?php namespace Dimpurw\Discount; class Discount { public static function discountCalculator(int $price, int $discount) { $result = ($discount / 100) * $price; return $result; } }
Kita telah berhasil membuat package calculator discount sederhana.
Kesimpulan
Dalam tutorial ini, kita telah belajar membuat package sendiri dengan composer PHP.
Perlu diingat bahwa dalam membangun package PHP tidak hanya tentang menulis kode akan tetapi juga memastikannya terdokumentasi dengan baik, teruji, dan terpelihara.
Sehingga hal tersebut memastikan pengalaman yang lancar bagi orang lain yang ingin menggunakan package yang anda buat ke dalam proyek mereka.