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.
Artikel ini menjelaskan cara menginstal Composer pada sistem Debian 10. Kami juga akan membahas cara menggunakan Komposer untuk membuat dan mengelola proyek PHP.
Menginstal Komposer di Debian #
Sebelum menginstal Composer, pastikan Anda telah menginstal semua paket yang diperlukan di sistem Debian Anda:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer menawarkan installer yang ditulis dalam PHP yang akan kita gunakan untuk menginstal Composer.
Unduh penginstal dengan wget
:
wget -O composer-setup.php https://getcomposer.org/installer
Perintah di atas akan menyimpan file sebagai composer-setup.php
di direktori kerja saat ini.
Composer adalah aplikasi CLI file tunggal yang dapat diinstal baik secara global atau sebagai bagian dari proyek. Instalasi global memerlukan hak istimewa sudo.
-
Untuk menginstal Composer secara global sebagai perintah seluruh sistem yang akan tersedia untuk semua pengguna, cukup tempatkan file di direktori yang ada di
PATH
sistem . Perintah berikut 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.10.10) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Anda sekarang dapat menggunakan Komposer dengan menjalankan
composer
di terminal Anda. -
Untuk menginstal composer secara lokal, unduh file di direktori root proyek Anda:
sudo php composer-setup.php --install-dir=/path/to/project
Ini akan mengunduh file bernama
composer.phar
. Untuk menggunakan Komposer, navigasikan ke direktori proyek dan jalankanphp composer.phar
Ketika versi Komposer baru tersedia, Anda dapat memperbarui instalasi menggunakan perintah berikut:
sudo composer self-update
Memulai Komposer #
Sekarang setelah Anda menginstal Komposer di sistem Debian Anda, kami akan menunjukkan cara membuat proyek PHP.
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.
Jalankan perintah berikut untuk membuat direktori proyek dan beralih ke direktori tersebut 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, kita akan membuat aplikasi sampel yang akan mencetak waktu saat ini menggunakan paket bernama karbon.
Jalankan perintah berikut untuk menginisialisasi composer.json
baru file dan instal paket karbon:
composer require nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
- Installing symfony/translation-contracts (v2.1.3): Downloading (100%)
- Installing symfony/polyfill-php80 (v1.18.1): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.18.1): Downloading (100%)
- Installing symfony/translation (v5.1.3): Downloading (100%)
- Installing nesbot/carbon (2.38.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
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more
Seperti yang ditunjukkan pada output, Composer membuat composer.json
file dan unduh serta instal karbon dan semua dependensinya.
Jika Anda mencantumkan direktori proyek Anda dengan ls
, 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 Aug 17 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Aug 17 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Aug 17 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 Anda 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: 2020-08-17 21:08:45
Nanti, jika Anda perlu memperbarui paket proyek, masukkan:
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.