Composer adalah manajer dependensi untuk PHP (mirip dengan npm untuk Node.js atau pip untuk Python).
Composer akan “menarik” semua paket PHP yang dibutuhkan oleh proyek Anda dan mengaturnya untuk Anda secara otomatis. Ini digunakan dalam PHP frameworks dan platform PHP modern seperti Laravel, Symfony, Drupal, dan Magento 2.
Tutorial ini mengikuti langkah-langkah menginstal Composer di CentOS 8. Jika Anda sedang terburu-buru dan Anda tidak ingin memverifikasi integritas file, scroll ke bawah ke Cara Cepat Install Composer
Prasyarat
Pastikan Anda telah memenuhi persyaratan berikut sebelum melanjutkan:
- Masuk sebagai user dengan hak istimewa sudo
- Instal PHP pada sistem CentOS 8 Anda.
Cara Install Komposer di CentOS
Lakukan langkah-langkah berikut untuk menginstal Komposer pada CentOS 8.
- Instal paket PHP CLI (command-line interface) dan semua dependensi lainnya dengan:
sudo dnf install php-cli php-json php-zip wget unzip
- Sekarang kita telah menginstal php cli, kita dapat mengunduh installer Composer dengan:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Perintah di atas akan mengunduh file
composer-setup.php
di direktori kerja saat ini. - Verifikasi integritas data skrip dengan membandingkan skrip hash
SHA-384
dengan hash installer terbaru yang ditemukan di halamanPublic Keys / Signatures
Composer. Kita akan menggunakan perintahwget
berikut dari halaman di Github dan menyimpannya dalam variabel bernamaHASH
:HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Sekarang jalankan perintah berikut untuk memverifikasi skrip instaler:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Jika hash cocok, Anda akan melihat output berikut:
Installer verified
Jika hash tidak cocok, Anda akan melihat
Installer corrupt
. Setelah integritas diverifikasi, Anda dapat melanjutkan dengan langkah berikutnya. - Perintah berikut akan menginstal Composer di direktori
/usr/local/bin
:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Output akan terlihat kurang lebih seperti berikut
All settings correct for using Composer Downloading... Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Composer telah dipasang sebagai perintah di seluruh sistem dan akan tersedia untuk semua pengguna.
- Langkah terakhir adalah memverifikasi instalasi:
composer -V
Composer version 1.10.1 2020-03-13 20:34:27
Pada poin ini, Anda telah berhasil menginstal Composer pada sistem CentOS dan Anda dapat mulai menggunakannya.
Cara Cepat Install Composer
Lakukan langkah-langkah berikut untuk menginstal Composer dengan cepat pada sistem CentOS 8 Anda:
- Install PHP CLI dan Zip:
sudo dnf install php-cli php-json php-zip curl unzip
- Download Composer dengan perintah
curl
:curl -sS https://getcomposer.org/installer |php
- Pindahkan file Composer ke direktori
/usr/local/bin
:sudo mv composer.phar /usr/local/bin/composer
Selesai, Composer telah terinstall di sistem CentOS Anda.
Cara Memulai dan Menggunakan Composer
Sekarang Composer diinstal pada sistem Ubuntu Anda, kami akan menunjukkan kepada Anda bagaimana menggunakan Composer dalam proyek PHP.
Buat direktori project dan masuk ke direktori tersebut dengan:
mkdir ~/my-first-composer-projectcd ~/my-first-composer-project
Dalam contoh ini, kita akan membuat contoh aplikasi yang akan mencetak waktu saat ini menggunakan paket yang disebut carbon.
Jalankan perintah berikut untuk menginisialisasi composer.json
baru dan instal paket karbon:
composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 4 installs, 0 updates, 0 removals - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%) - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%) - Installing symfony/translation (v5.0.6): Downloading (100%) - Installing nesbot/carbon (2.32.1): Downloading (100%) symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance) symfony/translation suggests installing symfony/config symfony/translation suggests installing symfony/yaml symfony/translation suggests installing psr/log-implementation (To use logging capability in translator) Writing lock file Generating autoload files 3 packages you are using are looking for funding. Use the `composer fund` command to find out more!
Seperti yang dapat Anda lihat dari output di atas, Composer akan membuat file composer.json.
Komponen ini akan mengunduh dan menginstal carbon beserta semua dependensinya.
Jika Anda melihat list daftar direktori di folder proyek menggunakan perintah ls, Anda akan melihat bahwa folder proyek Anda berisi dua file composer.json
dan composer.lock
, dan direktori vendor
.
ls -l
-rw-rw-r--. 1 vagrant vagrant 60 Mar 27 18:05 composer.json -rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock drwxrwxr-x. 6 vagrant vagrant 82 Mar 27 18:06 vendor
- Direktori
vendor
adalah direktori tempat dependensi proyek disimpan. composer.lock
berisi daftar semua paket yang diinstal termasuk versi paket.composer.json
menjelaskan proyek PHP dan semua dependensi PHP.
Anda dapat mencari paket PHP repositori Composer di Packagist.org untuk paket PHP.
Composer menyediakan kemampuan autoload yang memungkinkan kita untuk menggunakan PHP class tanpa perlu require
atau include
file.
Buat file bernama testing.php dan tambahkan kode berikut
<?php require __DIR__ . '/vendor/autoload.php'; use Carbon\Carbon; printf("Now: %s", Carbon::now());
Mari kita analisis kode per baris.
Pada baris pertama setelah tag php pembuka, kami menyertakan file vendor/autoload.php
yang secara otomatis dihasilkan oleh Composer yang akan memuat secara otomatis semua libraries.
Selanjutnya, kita aliasing Carbon\Carbon
sebagai Carbon
dan pada baris terakhir kita mencetak waktu saat ini menggunakan metode Carbon now
.
Jalankan Skrip dengan mengetik
php testing.php
Output akan menunjukkan waktu saat ini. (hasil output bervariasi)
Now: 2020-03-27 22:12:26
Kemudian, jika Anda ingin memperbarui paket PHP Anda, Anda dapat menjalankan:
composer update
Perintah di atas akan memeriksa versi yang lebih baru dari paket yang diinstal dan jika versi yang lebih baru ditemukan dan batasan versi cocok dengan yang ditentukan dalam composer.json
, Composer akan memperbarui paket.
Kesimpulan
Anda telah belajar cara menginstal Komposer pada CentOS 8. Kami juga telah menunjukkan kepada Anda cara menggunakan Komposer untuk membuat proyek PHP dasar.
Untuk menemukan informasi lebih lanjut tentang Komposer, kunjungi halaman dokumentasi resmi Composer.