Composeris adalah manajer ketergantungan untuk PHP (mirip dengan npm untuk Node.jsor pip untuk 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.
Dalam tutorial ini, kita akan melalui langkah-langkah menginstal dan menggunakan Composer pada mesin CentOS 7.
Prasyarat #
Pastikan Anda telah memenuhi prasyarat berikut sebelum melanjutkan tutorial ini:
- Masuk sebagai pengguna dengan hak istimewa sudo
- Sudah menginstal PHP 7 di sistem CentOS 7 Anda.
Menginstal Komposer di CentOS #
Langkah-langkah berikut menjelaskan cara menginstal Composer pada sistem CentOS 7.
-
Pertama-tama instal paket PHP CLI (antarmuka baris perintah) dan semua dependensi lainnya dengan:
sudo yum install php-cli php-zip wget unzip
-
Setelah PHP CLI terinstal, unduh skrip penginstal Komposer dengan:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Perintah di atas akan mendownload
composer-setup.php
file di direktori kerja saat ini. -
Untuk memverifikasi integritas data skrip, bandingkan skrip
SHA-384
hash dengan hash penginstal terbaru yang ditemukan di Kunci Publik / Halaman Tanda Tangan Komposer.Perintah wget berikut akan mengunduh tanda tangan yang diharapkan dari penginstal Komposer terbaru dari halaman Github Komposer dan menyimpannya dalam variabel bernama
HASH
: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 hash tidak cocok, Anda akan melihat
Installer corrupt
. Dalam hal ini, Anda perlu mengunduh ulang skrip penginstalan Composer dan memeriksa ulang nilai$HASH
variabel denganecho $HASH
. Setelah penginstal diverifikasi, Anda dapat melanjutkan 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
All settings correct for using Composer Downloading... Composer (version 1.8.5) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
composer
diinstal sebagai perintah di seluruh sistem dan akan tersedia untuk semua pengguna. -
Langkah terakhir adalah memverifikasi instalasi:
composer
Perintah di atas akan mencetak versi, perintah, dan argumen Composer.
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.8.5 2019-04-09 17:46:47 Usage: command [options] [arguments]
Pada titik ini, Anda telah berhasil menginstal Komposer di sistem CentOS Anda.
php composer-setup.php
yang akan membuat file bernama composer.phar
di direktori kerja Anda saat ini. Anda dapat menggunakan komposer dengan menjalankan ./composer.phar <command>.
Memulai Komposer #
Sekarang setelah Composer terinstal di sistem CentOS Anda, kami akan menunjukkan cara menggunakan Composer dalam proyek PHP.
Mulailah dengan membuat direktori yang akan menjadi direktori root proyek dan tahan composer.json
berkas.
composer.json
file menjelaskan proyek PHP Anda termasuk dependensi PHP dan metadata lainnya.
Buat direktori proyek dan alihkan ke direktori tersebut dengan:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
Dalam contoh ini, kami akan membuat aplikasi sampel yang akan mencetak waktu saat ini menggunakan paket yang disebut karbon.
Jalankan perintah berikut untuk menginisialisasi proyek Composer baru dan menginstal paket karbon:
composer require nesbot/carbon
Using version ^2.2 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 3 installs, 0 updates, 0 removals
- Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)
- Installing symfony/translation (v4.1.4): Downloading (100%)
- Installing nesbot/carbon (2.2.0): Downloading (100%)
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
Seperti yang Anda lihat dari output di atas Komposer akan membuat composer.json
file dan itu akan mengunduh dan menginstal karbon dan semua dependensinya.
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-r--r-- 1 linuxize users 60 Aug 29 00:50 composer.json
-rw-r--r-- 1 linuxize users 6.8K Aug 29 00:50 composer.lock
drwxr-xr-x 5 linuxize users 4.0K Aug 29 00:50 vendor
- The
vendor
direktori adalah direktori tempat dependensi proyek disimpan. composer.lock
berisi daftar semua paket yang diinstal termasuk versinya.composer.json
menjelaskan proyek PHP dan semua dependensi PHP.
Composer menyediakan kemampuan autoload yang memungkinkan kita menggunakan kelas PHP tanpa perlu menggunakan 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 menganalisis kode baris demi baris.
Di baris pertama setelah tag php pembuka, kami menyertakan vendor/autoload.php
file yang dihasilkan secara otomatis oleh Composer yang akan memuat semua perpustakaan secara otomatis.
Selanjutnya, kita aliasing Carbon\Carbon
sebagai Carbon
dan di baris terakhir kami mencetak waktu saat ini menggunakan Karbon now
metode.
Jalankan skrip dengan mengetik:
php testing.php
Outputnya akan terlihat seperti ini:
Now: 2018-09-26 20:08:18
Nanti, jika Anda ingin memperbarui paket PHP Anda, Anda cukup 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 di composer.json
, Komposer akan memperbarui paket.