Composeris adalah manajer dependensi untuk PHP (seperti npm untuk Node.jsor pipis ke Python).
Komposer akan menarik semua paket PHP yang diperlukan untuk proyek Anda dan mengelolanya untuk Anda. Ini digunakan di semua kerangka kerja dan platform PHP modern seperti Laravel, Symfony, Drupal, dan Magento 2.
Tutorial ini membahas langkah-langkah menginstal Composer di CentOS 8. Jika Anda sedang terburu-buru dan tidak ingin memverifikasi integritas file, gulir ke bawah ke bagian Installing Composer - Quick Way.
Prasyarat #
Pastikan Anda telah memenuhi persyaratan berikut sebelum melanjutkan:
- Masuk sebagai pengguna dengan hak istimewa sudo
- Sudah menginstal PHP di sistem CentOS 8 Anda.
Menginstal Komposer di CentOS #
Lakukan langkah-langkah berikut untuk menginstal Composer di CentOS 8.
-
Instal paket PHP CLI (antarmuka baris perintah) dan semua dependensi lainnya dengan:
sudo dnf install php-cli php-json php-zip wget unzip
-
Setelah PHP CLI terinstal, unduh skrip penginstal Komposer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Perintah di atas mengunduh file bernama
composer-setup.php
di direktori kerja saat ini. -
Verifikasi integritas data dengan membandingkan file
SHA-384
hash dengan hash yang ditemukan di Composer Public Keys / Signaturespage.Berikut
wget
perintah mengunduh tanda tangan penginstal Komposer terbaru dari halaman Github Komposer, dan menyimpannya dalam variabel bernamaHASH
:HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Untuk memverifikasi bahwa skrip instalasi tidak rusak, jalankan perintah berikut:
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, pesan berikut akan ditampilkan:
Installer verified
Jika tidak, jika hash tidak cocok, Anda akan melihat
Installer corrupt
. Setelah integritas diverifikasi, lanjutkan ke langkah berikutnya. -
Jalankan perintah berikut untuk menginstal Komposer di
/usr/local/bin
direktori:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Perintah di atas menginstal
composer
sebagai perintah seluruh sistem dan tersedia untuk semua pengguna. Outputnya akan terlihat seperti iniAll 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
Perintah di atas menginstal
composer
sebagai perintah di seluruh sistem dan tersedia untuk semua pengguna. -
Verifikasi instalasi dengan mencetak versi Komposer:
composer -V
Composer version 1.10.1 2020-03-13 20:34:27
Pada titik ini, Anda telah berhasil menginstal Komposer pada sistem CentOS Anda, dan Anda dapat mulai menggunakannya.
Menginstal Komposer [Cara Cepat] #
Lakukan langkah-langkah berikut untuk menginstal Komposer dengan cepat di sistem CentOS 8 Anda:
-
Instal PHP CLI dan Zip:
sudo dnf install php-cli php-json php-zip curl unzip
-
Unduh Komposer dengan curl:
curl -sS https://getcomposer.org/installer |php
-
Pindahkan file Composer ke
/usr/local/bin
direktori:sudo mv composer.phar /usr/local/bin/composer
Memulai Komposer #
Sekarang setelah Composer terinstal di sistem CentOS Anda, kami akan menunjukkan cara menggunakan Composer dalam proyek PHP.
Mulailah dengan membuat direktori root proyek dan arahkan ke sana:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
Dalam contoh ini, kita akan menggunakan paket PHP bernama carbon untuk membuat aplikasi sampel yang mencetak waktu saat ini.
Jalankan perintah berikut untuk menginisialisasi proyek Composer baru dan menginstal 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 Anda lihat dari output di atas, Composer membuat file bernama composer.json
dan mengunduh karbon dan semua ketergantungannya.
Jika Anda mencantumkan direktori proyek Anda, Anda akan melihat bahwa direktori itu berisi dua file composer.json
dan composer.lock
, dan vendor
direktori.
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
vendor
adalah direktori tempat dependensi proyek disimpan.composer.lock
file berisi daftar semua paket yang diinstal, termasuk versinya.composer.json
adalah file yang menjelaskan proyek PHP Anda, termasuk dependensi PHP dan metadata lainnya.
Composer memiliki kemampuan autoload, yang memungkinkan Anda untuk menggunakan kelas PHP tanpa perlu require
atau include
pernyataan.
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 menganalisis kode baris demi baris.
Pada baris pertama setelah tag php pembuka, kami menyertakan vendor/autoload.php
file yang memuat semua perpustakaan secara otomatis.
Selanjutnya, kita aliasing Carbon\Carbon
sebagai Carbon
. Baris terakhir mencetak waktu saat ini menggunakan Karbon now
metode.
Jalankan skrip dengan mengetik:
php testing.php
Outputnya akan terlihat seperti ini:
Now: 2020-03-27 22:12:26
Nanti, jika Anda ingin memperbarui paket PHP Anda, Anda cukup menjalankan:
composer update
Perintah di atas akan memeriksa versi terbaru dari paket yang diinstal, dan jika versi yang lebih baru ditemukan dan batasan versi cocok dengan yang ditentukan di composer.json
, Komposer akan memperbarui paket.