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.
Tutorial ini memberikan langkah-langkah yang diperlukan untuk menginstal Composer pada sistem Debian 9. Kami juga akan membahas cara menggunakan Komposer untuk membuat dan mengelola proyek PHP.
Prasyarat #
Sebelum melanjutkan dengan tutorial ini, pastikan Anda login sebagai pengguna dengan hak sudo dan Anda telah menginstal PHP di sistem Debian 9 Anda.
Menginstal Komposer #
Ikuti langkah-langkah di bawah ini untuk menginstal Komposer pada sistem Debian:
-
Pertama-tama perbarui indeks paket dan instal paket yang diperlukan dengan perintah berikut:
sudo apt update
sudo apt install php-cli php-zip wget unzip
-
Setelah dependensi terinstal, gunakan php cli toll untuk mengunduh skrip penginstalan Composer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Perintah di atas akan mendownload
composer-setup.php
file di direktori kerja saat ini. -
Kami akan memverifikasi integritas data skrip dengan membandingkan skrip
SHA-384
hash dengan hash penginstal terbaru yang ditemukan di Kunci Publik / Halaman Tanda Tangan Komposer.Jalankan perintah wget berikut untuk mengunduh tanda tangan yang diharapkan dari penginstal Komposer terbaru dari halaman Github Komposer dan simpan dalam variabel bernama
HASH
:HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Untuk memverifikasi bahwa skrip instalasi tidak rusak, salin dan tempel kode berikut ke konsol Anda:
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
. 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. -
Perintah berikut akan 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
Pada titik ini Anda telah menginstal Komposer di sistem Debian Anda. Itu diinstal sebagai perintah di seluruh sistem dan akan tersedia untuk semua pengguna.
-
Untuk memverifikasi instalasi cukup ketik:
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]
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 Anda menginstal Komposer di sistem Debian Anda, kami akan menunjukkan cara membuat proyek PHP dengan Komposer.
Mulailah dengan membuat direktori yang akan menjadi root proyek dan tahan composer.json
mengajukan. File ini menjelaskan proyek PHP Anda termasuk dependensi PHP dan metadata lainnya.
Buat direktori proyek dan alihkan dengan:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
Selanjutnya, kita akan menginisialisasi composer.json
baru file menggunakan composer require <package name>
perintah dan tentukan paket yang ingin kita unduh. Dalam contoh ini, kami akan membuat aplikasi sampel yang akan mencetak waktu saat ini menggunakan paket yang disebut karbon.
Jalankan perintah berikut untuk menginisialisasi composer.json
baru file dan instal paket karbon:
composer require nesbot/carbon
Using version ^1.34 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)
- Installing symfony/translation (v3.4.17): Downloading (100%)
- Installing nesbot/carbon (1.34.0): 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
Komposer akan membuat composer.json
file dan unduh serta instal karbon dan semua dependensinya.
Jika Anda mencantumkan direktori proyek Anda dengan ls
perintah, Anda akan melihat bahwa itu berisi dua file composer.json
dan composer.lock
, dan vendor
direktori.
ls -l
-rw-r--r-- 1 linuxize users 60 Oct 16 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Oct 16 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Oct 16 21:02 vendor
vendor
- direktori tempat dependensi proyek disimpan.composer.lock
- file yang berisi daftar semua paket yang diinstal termasuk versi paket.composer.json
- file yang menjelaskan proyek PHP dan semua dependensi PHP.
Composer menyediakan kemampuan autoload yang memungkinkan kita untuk menggunakan kelas PHP tanpa perlu require
atau include
file.
Buat file bernama testing.php
dan paste 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 dibuat secara otomatis oleh Composer. File ini akan otomatis memuat semua perpustakaan yang diperlukan.
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 di bawah ini:
Now: 2018-10-16 21:08:45
Nanti, jika Anda perlu memperbarui paket proyek, masukkan:
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.