Semisal kalian membuat sebuah package dan akan digunakan dalam project yang memakai framework, katakanlah framework Laravel misalnya. Nah kalian gak ingin secara terus menerus untuk push changes ke git dan require package melalui packagist, hal itu akan memakan banyak waktu apalagi membutuhkan koneksi internet. Pastinya gak akan mengenakkan ketika versi lokal dari package harus di push changes lalu di uji. Yang di inginkan itu kita uji terlebih dahulu di local, lalu push changes ke git. Dengan begitu sangat mendukung dalam development project.
Table of Contents
Bagaimana caranya untuk menjalankan Composer Package untuk development disisi local? check this out.
Buat Package Baru
Pastikan di device kalian sudah terinstall composer ya!
Lalu kita akan membuat package baru, jalankan perintah
composer init
isikan sesuai package yang ingin kalian buat.
{
"name": "afrizalmy/my-package",
"description": "Package sederhana untuk project Laravel",
"autoload": {
"psr-4": {
"afrizalmy\\Package\\": "src"
}
},
}
dalam file composer.json dari package kalian, perlu menentukan nama package dan jangan lupa definisi autoload PSR-4 unutk memetakan namespace ke folder src (atau di mana pun source code package kalian berada).
Konfigurasi Aplikasi Project
Setelah membuat package, selanjutnya akan menkonfigurasi di aplikasi project kita.
Sekarang di dalam aplikasi yang menggunakan package, kalian perlu menambahkan repository definition baru. Lihat kode dibawah ini kata kunci "repositories", dan jika kalian belum memilikinya, ketikkan kode berikut:
{
"name": "afrizalm/my-application",
"description": "Aplikasi sederhana untuk local dev composer package",
...
"repositories": [
{
"type": "path",
"url": "path/to/my/dev-package",
"options": {
"symlink": true
}
},
...
]
}
Dengan kalian konfigurasi "type": "path" , composer akan mengetahui reference local repository dan url mendefinisikan lokasi folder package kalian.
Kalian juga bisa menambahkan beberapa repository local package kalian, karena "repositories" ini berupa array, jadi bisa lebih banyak menggunakan local package untuk testing sebelum level production.
Setelah semua selesai, kalian jalankan perintah composer update untuk setiap perubahan pada local package.
Langkah terakhir kita tinggal jalankan perintah composer require nama_package @dev, dimana perintah ini akan memanggil local package kalian untuk di symlink secara otomatis oleh composer.
composer require afrizalmy/my-package @dev
Nantinya package local akan berada di folder vendor yang ada didalam folder project aplikasi kalian.
Yap, kita sampai sini kita sudah berhasil menjalankan Composer Package untuk development disisi local.
Cukup sekian ya teman-teman, semoga artikelnya membantu.
Untuk contoh source code, silahkan buka repository github saya.

Comments