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:

Cara Install Komposer di CentOS

Lakukan langkah-langkah berikut untuk menginstal Komposer pada CentOS 8.

  1. Instal paket PHP CLI (command-line interface) dan semua dependensi lainnya dengan:
    sudo dnf install php-cli php-json php-zip wget unzip
  2. 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.

  3. Verifikasi integritas data skrip dengan membandingkan skrip hash SHA-384 dengan hash installer terbaru yang ditemukan di halaman Public Keys / Signatures Composer. Kita akan menggunakan perintah wget berikut dari halaman di Github dan menyimpannya dalam variabel bernama HASH:
    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.

  4. 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.

  5. 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:

  1. Install PHP CLI dan Zip:
    sudo dnf install php-cli php-json php-zip curl unzip
  2. Download Composer dengan perintah curl:
    curl -sS https://getcomposer.org/installer |php
  3. 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 Carbondan 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.