Hvordan installere og bruke PHP Composer på Ubuntu 20.04 LTS

Komponer PHP-prosjektet ditt på en enkel måte ved å la komponisten administrere alle avhengighetene

Composer er et avhengighetsstyringsverktøy for PHP. Den skiller seg fra den tradisjonelle pakkebehandleren som f.eks apt og dnf, på en måte slik at den ikke installerer pakkene og bibliotekene globalt på et systemomfattende nivå, men håndterer dem for hvert prosjekt separat. Dermed er det en avhengighetsbehandler og ikke en pakkebehandler.

På samme måte som hvordan en musikkkomponist tar en haug med instrumenter og arrangerer dem slik at de fungerer feilfritt på en konsert, tar Composer for PHP en haug med biblioteker og rammer, pakker dem for å fungere sammen og skaper et solid grunnlag som et PHP-prosjekt kan bygges på. komponert.

Forutsetninger

Du trenger tilgang til et Ubuntu 20.04-system med en ikke-root sudo brukerkonto. I tillegg må du installere noen avhengigheter for Composer, som inkluderer php-cli for å kjøre PHP-skript i terminalen din, pakke opp for å hjelpe Composer med å trekke ut de nedlastede pakkene og krølle for å laste ned komponistinstallasjonsskriptet

For å installere alle nødvendige pakker, oppdater Ubuntu-pakkelisten ved å kjøre oppdateringskommandoen:

sudo apt oppdatering

Installer deretter php-cli, pakke opp og krølle ved å bruke følgende kommando:

sudo apt install php-cli unzip curl

Du vil bli bedt om å bekrefte installasjonen, trykk Y trykk deretter enter. Etter at du har oppfylt alle forutsetningene, kan du fortsette å installere Composer.

Last ned og installer Composer

Composer tilbyr et pent PHP-skript for å laste ned og installere det på maskinen din fra kommandolinjen. Vi må bruke krølle For å laste ned dette skriptet, kontroller dets autentisitet av sikkerhetsgrunner og kjør det deretter for å installere Composer.

Sørg for at terminalen din er åpen i hjemmekatalogen og last ned installasjonsskriptet ved å bruke krølle:

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

Deretter må vi bekrefte at installasjonsskriptet vi har lastet ned er ekte ved å matche SHA-384-hashen til det som finnes på Composer Public Key/ Checksums-siden. For å gjøre det, hent SHA-384-hashen fra Composer Public Key-siden og lagre den i en shell-variabel.

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

Bekreft deretter at du har oppnådd og lagret hashen i variabelen ved å kjøre:

ekko $Hash

Du bør få utdata av en tilfeldig streng som denne fra terminalen:

Produksjon: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Kjør nå følgende PHP-kode levert av Composer for å bekrefte autentisiteten til installasjonsskriptet:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$Hash') { echo 'Installer verifisert'; } else { echo 'Installer korrupt'; unlink('composer-setup .php'); } echo PHP_EOL;"
Produksjon: Installatør bekreftet

Hvis du ser noen annen utgang som f.eks Installasjonsprogrammet er ødelagt, da vil du vite at skriptet er ødelagt og det ikke er trygt å kjøre. Last ned skriptet igjen ved å bruke curl, og kjør deretter PHP-koden i terminalen igjen for å bekrefte installasjonsskriptet.

Du kan fortsette med installasjonen når du har verifisert installasjonsprogrammet. Du kan installere Install the Composer globalt eller lokalt for et enkelt prosjekt.

Installer Composer globalt

For å installere Composer globalt som en systemomfattende kommando kalt komponist, kjør følgende kommando:

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

Composer vil bli installert i /usr/local/bin katalogen på ditt Ubuntu 20.04-system, og du vil se utdata som dette:

Produksjon: Alle innstillinger er riktige for bruk av Composer Laster ned... Composer (versjon 1.10.7) ble installert til: /usr/local/bin/composer Bruk den: php /usr/local/bin/composer 

Bekreft at Composer er riktig installert og fungerer ved å kjøre:

komponist
Produksjon: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Komponistversjon 1.10.7 2020-06- 03 10:03:56 Bruk: kommando [alternativer] [argumenter] 

Du har installert composer på Ubuntu 20.04-systemet. Du kan nå begynne å bruke Composer til å administrere, oppdatere og installere avhengigheter i PHP-prosjektene dine umiddelbart.

Installerer Composer lokalt

Det er nyttig å installere Composer lokalt når du ikke har tillatelse til å installere det på et systemomfattende nivå, eller hvis du bare vil ha Composer for et enkelt prosjekt. Slik installerer du komponist lokalt:

php composer-setup.php

Kommandoen ovenfor vil opprette en ny fil i din nåværende katalog kalt komponist.phar. Du må flytte denne filen til prosjektets rotmapp for å bruke Composer-funksjonene. Denne filen kan kjøres ved å bruke kommandoen vist nedenfor.

php-komponist.phar

Grunnleggende om komponist

Nå, som du har Composer installert på din Ubuntu 20.04-maskin, la oss se på noen grunnleggende om Composer. Composer har som mål å forenkle enkel installasjon og oppdateringer av avhengigheter, og for å gjøre det oppretter den mange filer i prosjektets rotkatalog. La oss se på katalogstrukturen til et prosjekt som bruker Composer til å administrere avhengigheter.

Komponistprosjektets rotstruktur:ProjectRoot/ ├── composer.json ├── composer.lock ├── Project.php ├── komponist.phar *Bare hvis du har installert Composer lokalt └── Leverandør ├── autoload.php ├── komponist │ ├── ClassLoader.php │ ├── LICENSE │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • De composer.json filen som ligger i prosjektets rotkatalog lagrer all informasjon om avhengighetene (pakkene) som kreves av prosjektet.
  • De komponist.lås inneholder informasjonen om pakkene som er versjonslåst for prosjektet.
  • Leverandør er katalogen der alle pakkene er lagret, den har også noen PHP-skript som f.eks autoload.php, som letter automatisk inkludering av pakkene i leverandørkatalogen.
  • Til slutt, hvis du har installert Composer lokalt må du ha komponist.phar fil i prosjektkatalogen for å installere pakker.

Alle disse filene opprettes når du bruker komponist eller php-komponist.phar kommandoen for å laste ned og installere pakker for prosjektet ditt første gang. Så la oss se på hvordan Composer fungerer ved å lage et demoprosjekt.

Opprett ditt første prosjekt ved hjelp av Composer

Det første trinnet er å lage en rotkatalog for prosjektet ditt, så lag en med mkdir kommandoen og naviger til den ved å bruke cd kommando:

mkdir ~/ComposerDemo cd ~/ComposerDemo

Nå må vi finne og installere pakkene/bibliotekene som kreves for å bygge vårt demoprosjekt. Packagist er hoveddepotet for Composer som viser alle de offentlig tilgjengelige PHP-pakkene som kan installeres med Composer.

I dette eksemplet vil vi bruke en PHP-pakke kalt cakephp/chronos, det er en enkel API-utvidelse for dato og klokkeslett. For å generere et nytt Composer-prosjekt og installere Chronos-pakken, kjør følgende kommando:

komponist krever cakephp/chronos
Produksjon: Bruker versjon ^2.0 for cakephp/chronos ./composer.json har blitt opprettet Laster komponistrepositorier med pakkeinformasjon Oppdatering av avhengigheter (inkludert require-dev) Pakkeoperasjoner: 1 installasjon, 0 oppdateringer, 0 fjerninger - Installere cakephp/chronos (2.0.5) ): Laster ned (100%) Skrivelåsfil Genererer autoloadfiler 

De krever alternativet henter og installerer pakken du ønsker og genererer filene og katalogene som f.eks composer.json, komponist.lås og Leverandør i prosjektets rotkatalog. Du vil se det cakephp/chronos legges til composer.json hvis du kjører følgende kommando:

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

La oss deretter bruke Chronos i vårt demoprosjekt, åpne og lage en PHP-fil kalt demo.php ved hjelp av nano:

nano demo.php

Legg deretter til følgende kode til demo.php, den andre linjen som inkluderer leverandør/autoload.php er en Composer-fil som automatisk laster inn alle pakkene og bibliotekene som er installert for prosjektet. Lagre filen ved å trykke Ctrl+O og gå ut av nanoredigering ved å trykke Ctrl+X.

Utfør demo.php ved å kjøre følgende kommando:

php demo.php
Produksjon: Nå: 2020-06-23 17:07:45

Når du i fremtiden trenger å oppdatere pakkene og bibliotekene til prosjektet ditt, kjør ganske enkelt følgende kommando:

komponistoppdatering

Kommandoen ovenfor vil se etter den nyere versjonen av installerte pakker og oppdatere dem sikkert uten å ødelegge prosjektet og dets gjensidig avhengige biblioteker.

Vi har sett på hvordan du installerer Composer på Ubuntu 20.04-maskinen og sett på det grunnleggende du trenger å vite om Composer. Du kan nå prøve å bygge nye prosjekter ved å legge til de nødvendige pakkene ved å søke på Packagist. Hvis du ønsker å lære mer om Composer og dets alternativer, gå til Composer online dokumentasjonsside.