Untuk memahami composer saat menginstall paket aplikasi, kita akan menginstall paket webmozart/json yang berguna untuk melakukan encode json. Composer akan connect ke packagist saat mencari paket aplikasi.
Pertama, buka packagist.org dan cari webmozart/json. Kalau sudah ketemu, temukan perintah untuk menginstall nya. Perintahnya adalah composer require webmozart/json.
Buka terminal dan masuk ke folder yang ada composer.json nya dan ketik perintah di atas.
Sebuah paket seringkali bergantung pada paket lainnya. Karena itu, ketika kita menginstall paket webmozart/json, tidak hanya paket itu saja yang terinstall, tapi juga paket lain yang berhubungan. Di file composer.json juga otomatis terinstall paket yang tadi.
1 2 3 4 5 6 7 8 9 10 |
{ "autoload": { "psr-4": { "Dummy\\" : "src" } }, "require": { "webmozart/json": "^1.2" } } |
Ubah index.php dari tutorial sebelumnya menjadi :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php require "vendor/autoload.php"; use Dummy\Calculator; use Dummy\Mobil\Toyota as Fortuner; use Dummy\Mobil\Honda as Crv; use Webmozart\Json\JsonEncoder; $toyota = new Fortuner('Toyota Fortuner',10); $calculator = new Calculator($toyota); $toyotaString = "Jarak Maksimum ". $toyota->getMerk() . " adalah " . $calculator->hitungJarak() . " km."; $honda = new Crv('Honda CR-V',10); $calculator = new Calculator($honda); $hondaString = "Jarak Maksimum ". $honda->getMerk() . " adalah " . $calculator->hitungJarak() . " km."; $encoder = new JsonEncoder(); $message[] = $toyotaString; $message[] = $hondaString; header('Content-type: application/json'); echo $encoder->encode($message); |
Disitu kita lihat ada :
1 2 |
<span class="pl-s1"><span class="pl-k">use</span> <span class="pl-c1">Webmozart\Json\JsonEncoder</span>; </span> |
Setiap paket berbeda-beda namespacenya, kita bisa lihat di dokumentasinya.
Untuk mengupdate dan menghapus package, gunakan perintah composer update. Saat menghapus package, hapus packagenya yang berada di require pada composer.json. Package lain yang berhubungan juga akan terhapus.