Paano Mag-install at Gamitin ang PHP Composer sa Ubuntu 20.04 LTS

Isulat ang iyong proyekto sa PHP nang madali sa pamamagitan ng pagpayag sa kompositor na pamahalaan ang lahat ng mga dependency

Ang kompositor ay isang tool sa pamamahala ng dependency para sa PHP. Ito ay naiiba sa tradisyunal na manager ng package tulad ng apt at dnf, sa paraang hindi nito nai-install ang mga pakete at aklatan sa buong mundo sa antas ng buong sistema sa halip ay pinangangasiwaan nito ang mga ito para sa bawat proyekto nang hiwalay. Kaya ito ay isang dependency manager at hindi isang package manager.

Tulad ng kung paano kumukuha ang isang kompositor ng musika ng isang bungkos ng mga instrumento at inaayos ang mga ito upang gumana nang walang kamali-mali sa isang konsiyerto, ang Composer para sa PHP ay kumukuha ng isang grupo ng mga aklatan at mga framework, i-package ang mga ito upang magtulungan at lumikha ng isang matatag na pundasyon kung saan ang isang proyekto sa PHP ay maaaring maging binubuo.

Mga kinakailangan

Kailangan mo ng access sa isang Ubuntu 20.04 system na may non-root sudo account ng gumagamit. Bukod pa rito, kailangan mong mag-install ng ilang dependencies para sa Composer, na kinabibilangan php-cli upang magpatakbo ng mga script ng PHP sa iyong terminal, unzip upang matulungan ang Composer na kunin ang mga na-download na pakete at kulot upang i-download ang script ng pag-install ng kompositor

Para i-install ang lahat ng kinakailangang package, i-update ang listahan ng package ng Ubuntu sa pamamagitan ng pagpapatakbo ng update command:

sudo apt update

Pagkatapos ay i-install ang php-cli, unzip at kulot gamit ang sumusunod na command:

sudo apt install php-cli unzip curl

Sasabihan ka upang kumpirmahin ang pag-install, pindutin Y pagkatapos ay pindutin ang enter. Pagkatapos mong matupad ang lahat ng mga kinakailangan, maaari kang magpatuloy sa pag-install ng Composer.

I-download at I-install ang Composer

Nag-aalok ang kompositor ng isang maayos na script ng PHP upang i-download at i-install ito sa iyong makina mula sa command line. Kailangan nating gamitin kulot upang i-download ang script na ito, i-verify ang pagiging tunay nito para sa mga kadahilanang pangseguridad at pagkatapos ay isagawa ito upang i-install ang Composer.

Tiyaking bukas ang iyong terminal sa home directory at pagkatapos ay i-download ang script ng pag-install sa pamamagitan ng paggamit kulot:

cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php

Susunod, kailangan naming i-verify na ang script ng pag-install na na-download namin ay totoo sa pamamagitan ng pagtutugma ng SHA-384 hash nito sa isa na makikita sa Composer Public Key/ Checksums page. Upang gawin ito, kunin ang SHA-384 hash mula sa pahina ng Composer Public Key at iimbak ito sa isang variable ng shell.

Hash=`curl -sS //composer.github.io/installer.sig`

Pagkatapos ay i-verify na matagumpay mong nakuha at naimbak ang hash sa variable sa pamamagitan ng pagpapatakbo:

echo $Hash

Dapat kang makakuha ng isang output ng ilang random na string tulad nito mula sa terminal:

Output: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Ngayon, patakbuhin ang sumusunod na PHP code na ibinigay ng Composer upang i-verify ang pagiging tunay ng script ng pag-install:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$Hash') { echo 'Installer verified'; } else {echo 'Installer corrupt'; unlink('composer-setup .php'); } echo PHP_EOL;"
Output: Na-verify ang installer

Kung makakita ka ng anumang iba pang output tulad ng Corrupt ang installer, pagkatapos ay malalaman mo na ang script ay sira at ito ay hindi ligtas na tumakbo. I-download muli ang script gamit ang curl, pagkatapos ay i-execute muli ang PHP code sa terminal upang i-verify ang script ng pag-install.

Maaari kang magpatuloy sa pag-install kapag matagumpay mong na-verify ang installer. Maaari mong i-install ang I-install ang Composer sa buong mundo o lokal para sa isang proyekto.

I-install ang Composer sa buong mundo

Upang i-install ang Composer sa buong mundo bilang isang command sa buong system na pinangalanan kompositor, patakbuhin ang sumusunod na command:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Ang kompositor ay mai-install sa /usr/local/bin direktoryo sa iyong Ubuntu 20.04 system at makikita mo ang output tulad nito:

Output: Ang lahat ng mga setting ay tama para sa paggamit ng Composer Downloading... Composer (bersyon 1.10.7) matagumpay na na-install sa: /usr/local/bin/composer Gamitin ito: php /usr/local/bin/composer 

I-verify na ang Composer ay na-install nang tama at gumagana sa pamamagitan ng pagpapatakbo:

kompositor
Output: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Bersyon ng kompositor 1.10.7 2020-06- 03 10:03:56 Paggamit: command [mga opsyon] [argument] 

Matagumpay mong na-install ang kompositor sa iyong Ubuntu 20.04 system. Maaari mo na ngayong simulan ang paggamit ng Composer upang pamahalaan, i-update at i-install kaagad ang mga dependency sa iyong mga proyekto sa PHP.

Lokal na Pag-install ng Composer

Ang lokal na pag-install ng Composer ay kapaki-pakinabang kapag wala kang pahintulot na i-install ito sa antas ng buong system o kung gusto mo ang Composer para sa isang proyekto lamang. Upang i-install ang kompositor na lokal na tumakbo:

php composer-setup.php

Ang utos sa itaas ay lilikha ng isang bagong file sa iyong kasalukuyang direktoryo na tinatawag kompositor.phar. Kakailanganin mong ilipat ang file na ito sa project root folder para magamit ang mga feature ng Composer. Maaaring patakbuhin ang file na ito gamit ang command na ipinapakita sa ibaba.

php composer.phar

Mga Pangunahing Kaalaman sa kompositor

Ngayon, na mayroon kang Composer na naka-install sa iyong Ubuntu 20.04 machine, tingnan natin ang ilang pangunahing kaalaman ng Composer. Nilalayon ng kompositor na mapadali ang madaling pag-install at pag-update ng mga dependency at upang magawa ito, lumilikha ito ng maraming file sa direktoryo ng ugat ng proyekto. Tingnan natin ang istraktura ng direktoryo ng isang proyekto gamit ang Composer upang pamahalaan ang mga dependency.

Istraktura ng ugat ng Composer Project:ProjectRoot/ ├── composer.json ├── composer.lock ├── Project.php ├── kompositor.phar *Tanging kung lokal mong na-install ang Composer └── nagtitinda ├── autoload.php ├── kompositor │ ├── ClassLoader.php │ ├── LICENSE │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • Ang kompositor.json Ang file na matatagpuan sa direktoryo ng ugat ng proyekto ay nag-iimbak ng lahat ng impormasyon sa mga dependency (mga pakete) na kinakailangan ng proyekto.
  • Ang kompositor.lock nagtataglay ng impormasyon sa mga pakete na naka-lock ang bersyon para sa proyekto.
  • nagtitinda ay ang direktoryo kung saan naka-imbak ang lahat ng mga pakete, mayroon din itong ilang mga script ng PHP tulad ng autoload.php, na nagpapadali sa awtomatikong pagsasama ng mga pakete sa direktoryo ng vendor.
  • Sa wakas, kung na-install mo ang Composer nang lokal dapat mayroon ka kompositor.phar file sa direktoryo ng proyekto upang mag-install ng mga pakete.

Lahat ng mga file na ito ay nilikha kapag ginamit mo ang kompositor o php composer.phar command na mag-download at mag-install ng mga package para sa iyong proyekto sa unang pagkakataon. Kaya tingnan natin ang paggawa ng Composer sa pamamagitan ng paglikha ng isang Demo project.

Paglikha ng iyong Unang Proyekto Gamit ang Composer

Ang unang hakbang ay gumawa ng root directory para sa iyong proyekto, kaya gumawa ng isa gamit ang mkdir command at mag-navigate dito sa pamamagitan ng paggamit cd utos:

mkdir ~/ComposerDemo cd ~/ComposerDemo

Ngayon, kailangan naming hanapin at i-install ang mga pakete/aklatan na kinakailangan para buuin ang aming demo na proyekto. Ang Packagist ay ang pangunahing Composer repository na naglilista ng lahat ng available sa publiko na PHP packages na maaaring i-install sa Composer.

Sa halimbawang ito, gagamit kami ng PHP package na tinatawag cakephp/chronos, ito ay isang simpleng extension ng API para sa petsa at oras. Kaya para makabuo ng bagong proyekto ng Composer at mag-install ng Chronos package, patakbuhin ang sumusunod na command:

nangangailangan ng cakephp/chronos ang kompositor
Output: Ang paggamit ng bersyon ^2.0 para sa cakephp/chronos ./composer.json ay nilikha Naglo-load ng mga repositoryo ng kompositor na may impormasyon ng package Pag-update ng mga dependencies (kabilang ang require-dev) Mga pagpapatakbo ng package: 1 pag-install, 0 pag-update, 0 pag-alis - Pag-install ng cakephp/chronos (2.0.5 ): Nagda-download ng (100%) Pagsusulat ng lock file Pagbuo ng mga autoload na file 

Ang nangangailangan ang opsyon ay kumukuha at nag-i-install ng package na gusto mo at bumubuo ng mga file at direktoryo tulad ng kompositor.json, kompositor.lock at nagtitinda sa direktoryo ng ugat ng proyekto. Makikita mo iyon cakephp/chronos ay idinagdag sa kompositor.json kung pinapatakbo mo ang sumusunod na command:

cat composer.json
Output: { "require": { "cakephp/chronos": "^2.0" } } 

Susunod, gamitin natin ang Chronos sa ating Demo project, magbukas at gumawa ng PHP file na tinatawag demo.php gamit nano:

nano demo.php

Pagkatapos ay idagdag ang sumusunod na code sa demo.php, ang pangalawang linya na kinabibilangan ng vendor/autoload.php ay isang Composer file na awtomatikong naglo-load ng lahat ng mga package at library na naka-install para sa proyekto. I-save ang file sa pamamagitan ng pagpindot Ctrl+O at pagkatapos ay lumabas sa nano editor sa pamamagitan ng pagpindot Ctrl+X.

Isagawa ang demo.php sa pamamagitan ng pagpapatakbo ng sumusunod na command:

php demo.php
Output: Ngayon: 2020-06-23 17:07:45

Sa hinaharap kapag kailangan mong i-update ang mga pakete at aklatan ng iyong proyekto, patakbuhin lamang ang sumusunod na command:

update ng kompositor

Ang utos sa itaas ay titingnan ang mas bagong bersyon ng mga naka-install na pakete at i-update ang mga ito nang ligtas nang hindi sinisira ang proyekto at ang mga interdependent na aklatan nito.

Tiningnan namin kung paano i-install ang Composer sa Ubuntu 20.04 machine at tiningnan ang mga pangunahing kaalaman na kailangan mong malaman tungkol sa Composer. Maaari mo na ngayong subukan na bumuo ng mga bagong proyekto sa pamamagitan ng pagdaragdag ng mga kinakailangang pakete sa pamamagitan ng paghahanap sa Packagist. Kung gusto mong matuto nang higit pa tungkol sa Composer at sa opsyon nito, pumunta sa pahina ng online na dokumentasyon ng Composer.