Last Updated on June 3, 2022 by
Seiring bertambahnya permintaan atas pengembangan website, serta untuk lebih meng-efisiensikan alur pengembangan website yang lebih cepat, Node.js membuat apa yang kini dikenal dengan Composer.
Table of Contents
Composer Adalah?
Apa itu composer? Composer adalah manager dependency untuk PHP. Dependency sendiri dalam pengembangan software merupakan program terpisah atau sebuah kode yang diperlukan untuk operasi dari perangkat lunak yang ingin anda jalankan.
Composer adalah dependency manager untuk PHP yang memungkinkan pengkodean yang lebih rapi dan terstruktur sehingga memungkinkan penggunaannya atau programmer yang baru pindah ke bahasa pemrograman PHP menemukan informasi-informasi rancu seperti rancunya manajemen struktur hirarki proyek.
Composer juga membantu membantu permasalahan dependencies dalam proyek kita dimana jika kita menggunakan cara konvensional dalam menginstall suatu library, proses ini akan memakan waktu pada akses, verifikasi dan kompabilitas library tersebut secara manual.
Hanya dengan memasang suatu library dengan composer maka semua library yang dibutuhkan oleh library tersebut akan secara otomatis di install oleh composer. Composer Laravel merupakan composer yang digunakan pada framework Laravel.
Composer terinspirasi dari proyek seperti NPM dan Bundler. Pilihan paket kompatibel yang sangat banyak di hosting pada repository official composer yang dikenal dengan sebutan Packagist. Paket-paket ini merupakan paket open source dimana anda dapat ikut berkontribusi di dalamnya. Anda bahkan dapat menggunakan kode revisi dari sebuah paket ketika memasukkannya ke dalam sebuah proyek sehingga anda mendapatkan fleksibilitas. Paket composer dibagi kedalam versi, sehingga anda dapat menjabarkan versi persis dari paket yang anda butuhkan.
Setelah mengetahui apa itu composer dan keuntungan setelah menggunakan composer. Sekarang kita akan membahas bagaimana cara kerja serta instalasi composer, yang akan kita bahas dalam paragraf dibawah.
Cara Install Composer
Composer menggunakan Packagist.org sebagai bundle utama. Packagist.org menyediakan data dari repositori yang user laporkan pada website tersebut. Packagist.org menyampaikan fitur tersebut.
Cara Download
Composer dapat diunduh dengan beberapa cara (tindakan berikut dibuat dalam folder utama dari proyek)
- Instalasi pertama berbasi Curl
$ curl -sS https://getcomposer.org/installer | php
- Jika Curl belum terinstall
$ php -r “readfile(‘https://getcomposer.org/installer’);” | php
Penggunaan Dasar
Composer.json digunakan sebagai file acuan yang menentukan urutan dari dependencies
{
“name”: “symfony/framework-standard-edition”,
“license”: “MIT”,
“type”: “project”,
“description”: “The \”Symfony Standard Edition\” distribution”,
“autoload”: {
“psr-4”: { “”: “src/” },
“files”: [ “app/AppKernel.php” ]
},
“require”: {
“php”: “>=5.3.9”,
“symfony/symfony”: “2.8.*@dev”,
“doctrine/orm”: “^2.4.8”,
“doctrine/doctrine-bundle”: “~1.4”,
},
“require-dev”: {
},
“scripts”: {
},
“config”: {
“bin-dir”: “bin”
},
“extra”: {
“symfony-app-dir”: “app”,
“symfony-web-dir”: “web”,
“symfony-assets-install”: “relative”,
“incenteev-parameters”: {
“file”: “app/config/parameters.yml”
},
“branch-alias”: {
“dev-master”: “2.8-dev”
}
}
}
Bagian require adalah bagian kunci untuk kita karena memiliki objek json yang menyimpan data dan bundel yang kita gunakan. Selain itu beberapa hal yang harus dicatat:
- name: nama dari bundle dalam format pemilik/nama. Biasanya memiliki nama yang sama seperti pada Github/Bitbucket.
- description: deskripsi singkat dari bundle
- keywords: beberapa kata kunci yang bermanfaat ketika memfilter proyek
- license: informasi mengenai informasi lisensi saat ini
- scripts: metode yang berguna dan populer yang memungkinkan menempelkan script kepada pekerjaan tertentu dari manajer dependency yang berfungsi untuk memanggil command tertentu setelah file diupload.
Memilih Versi
Composer akan memilih dependencies yang sesuai sementara mengecek versi stabil terbaru dari paket dan memastikan kompatibilitas dengan dependencies lainnya.
Secara default, hanya bundle stabil yang akan dipilih. Jika anda ingin menggunakan paket dev, anda harus menyatakan hal tersebut dengan mengedit memodifikasi composer.json. Tiap versi dari masing-masing paket diperiksa atas kestabilannya. Bundles yang tidak menemui keperluan stabilitas minimum akan dilewatkan dalam proses pengiriman dependencies kedalam proyek anda.
Perintah Composer Dasar
$ composer install
Perintah ini membaca konten dari composer.json dari folder posisi keberadaan sekarang dan memasang dependencies yang dipilih kedalam folder vendor. Jika terdapat composer.lock dalam direktori saat ini, maka versi spesifik tersebut akan digunakan ketimbang versi yang dipilih oleh composer. Hal ini dilakukan untuk memastikan adanya kompabilitas antara paket yang di download dan yang digunakan.
Jika composer.lock tidak terdapat pada direktori saat ini, maka perintah tersebut akan dibuat setelah instalasi bundle.
$ composer dump-autoload
Dump-autoload memungkinkan adanya konten refresh dari autoload.php dan untuk membuat entry autoload baru
$ composer self-update
Digunakan untuk versi composer
$ composer update
Perintah ini mencocokkan semua dependencies dan menyimpan versi spesifik tersebut pada composer.lock
$ composer update vendor/package vendor/package2
Perintah ini meng-update paket yang dipilih jika versi update stabil dari bundle tersebut telah tersedia.
$ composer show
absolvent/phpunit-symfony
acid/symfony
admafa/proyecto-final-symfony
Perintah yang menunjukkan daftar dari bundel yang tersedia di library.
$ composer show vendor/package
$ composer show vendor/package 1.0.2
Mengembalikan detail dari bundle atau dari versi tertentu
$ composer show -i
alexandresalome/php-selenium 1.0.1 PHP Library for Selenium
behat/behat v2.5.0 Scenario-oriented BDD framework for …
behat/common-contexts v1.2.0 Commonly used contexts for Behat
Menunjukkan bundle yang terpasang dan versinya
$ composer show -s
requires
php >=5.4.0
symfony/symfony 2.3.*
symfony/assetic-bundle 2.3.*
symfony/swiftmailer-bundle 2.3.*
symfony/monolog-bundle 2.3.*
Perintah yang digunakan untuk melihat bagaimana composer menafsirkan file composer.json.
Autoloading
Composer menyediakan peluang untuk mengkonfigurasi file autoload dari tiap library. Composer dapat membuat vendor atau autoload.php yang kita dapat letakkan pada coding kita dengan menggunakan
require ‘vendor/autoload.php’;
Kelebihan Penggunaan Composer
Setelah mengetahui apa itu composer dan cara install composer, ada baiknya kita mengetahui kelebihan dari penggunaan composer pada proyek PHP anda.
- Composer adalah manager dependency untuk PHP dimana, Dependencies yang diperlukan oleh paket yang anda gunakan secara otomatis ditangani oleh composer itu sendiri, meninggalkan anda secara bebas untuk berfokus pada programming ketimbang manajemen dependency.
- Ketika paket yang anda gunakan mendapatkan versi baru, sebuah composer updates sederhana akan melakukan semuanya untukmu tanpa ada perlunya manajemen file secara manual
- Dengan composer anda akan mendapatkan autoload.php yang terpusat dan file yang juga akan teroptimalkan untuk di produksi. Autoload.php akan memuat semua yang anda butuhkan dan yang anda butuhkan hanya menyertakan satu file.
- Anda dapat menggunakan psr-4 namespace untuk memuat jalur tertentu dari aplikasi anda dan diesrtakan dalam file autoloader, kemudian anda dapat dengan mudahnya menggunakan use namespace tersebut dan akan tersedia di seluruh aplikasi anda.
Kesimpulan
Composer adalah alat untuk dependencies manajemen PHP yang memungkinkan pengguna untuk meng-declare library yang proyek anda depend dan mengelolanya untuk anda (install/update). Composer adalah dependency manager untuk PHP yang memungkinkan pengkodean yang lebih rapi dan terstruktur. Selain itu, karena dikarenakan minimnya file manajemen dan pengerjaan kode-kode dan pemanggilan library secara manual, membuat penggunaan composer menjadi pilihan pasti untuk pengembangan software yang lebih efisien.
Jika Anda tertarik untuk tahu lebih banyak tentang pengembangan website dan aplikasi, kunjungi Web App sekarang juga!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.