Sådan installeres og bruges PHP Composer på Ubuntu 20.04 LTS

Sammensæt dit PHP-projekt med lethed ved at lade komponisten styre alle afhængigheder

Composer er et afhængighedsstyringsværktøj til PHP. Det adskiller sig fra den traditionelle pakkehåndtering som f.eks passende og dnf, på en måde, så den ikke installerer pakkerne og bibliotekerne globalt på et systemdækkende niveau, men håndterer dem for hvert projekt separat. Det er således en afhængighedsmanager og ikke en pakkemanager.

Ligesom hvordan en musikkomponist tager en masse instrumenter og arrangerer dem til at fungere fejlfrit i en koncert, tager Composer for PHP en masse biblioteker og rammer, pakker dem til at arbejde sammen og skaber et solidt fundament, som et PHP-projekt kan bygges på. sammensat.

Forudsætninger

Du skal have adgang til et Ubuntu 20.04-system med en ikke-root sudo brugerkonto. Derudover skal du installere nogle afhængigheder til Composer, som inkluderer php-cli at køre PHP-scripts i din terminal, unzip for at hjælpe Composer med at udtrække de downloadede pakker og krølle for at downloade komponistinstallationsscriptet

For at installere alle de nødvendige pakker skal du opdatere Ubuntu-pakkelisten ved at køre opdateringskommandoen:

sudo apt opdatering

Installer derefter php-cli, unzip og krølle ved hjælp af følgende kommando:

sudo apt installer php-cli unzip curl

Du bliver bedt om at bekræfte installationen, tryk på Y tryk derefter på enter. Når du har opfyldt alle forudsætningerne, kan du fortsætte med at installere Composer.

Download og installer Composer

Composer tilbyder et pænt PHP-script til at downloade og installere det på din maskine fra kommandolinjen. Vi skal bruge krølle For at downloade dette script skal du bekræfte dets ægthed af sikkerhedsmæssige årsager og derefter udføre det for at installere Composer.

Sørg for, at din terminal er åben i hjemmebiblioteket, og download derefter installationsscriptet ved at bruge krølle:

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

Dernæst skal vi bekræfte, at installationsscriptet, vi har downloadet, er ægte ved at matche SHA-384-hashen af ​​det med det, der findes på Composer Public Key/ Checksums-siden. For at gøre det skal du hente SHA-384-hashen fra Composer Public Key-siden og gemme den i en shell-variabel.

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

Bekræft derefter, at du har opnået og gemt hashen i variablen ved at køre:

ekko $Hash

Du bør få et output af en tilfældig streng som denne fra terminalen:

Produktion: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Kør nu følgende PHP-kode leveret af Composer for at bekræfte ægtheden af ​​installationsscriptet:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$Hash') { echo 'Installer verified'; } else { echo 'Installer korrupt'; unlink('composer-setup .php'); } echo PHP_EOL;"
Produktion: Installatør bekræftet

Hvis du ser noget andet output som f.eks Installationsprogrammet er korrupt, så ved du, at scriptet er beskadiget, og det er ikke sikkert at køre. Download scriptet igen med curl, og kør derefter PHP-koden i terminalen igen for at bekræfte installationsscriptet.

Du kan fortsætte med installationen, når du har bekræftet installationen. Du kan installere Installer Composer globalt eller lokalt for et enkelt projekt.

Installer Composer globalt

At installere Composer globalt som en systemomfattende kommando med navnet komponist, kør følgende kommando:

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

Composer vil blive installeret i /usr/local/bin mappe på dit Ubuntu 20.04-system, og du vil se output som dette:

Produktion: Alle indstillinger er korrekte for brug af Composer Downloader... Composer (version 1.10.7) installeret med succes til: /usr/local/bin/composer Brug det: php /usr/local/bin/composer 

Bekræft, at Composer er installeret korrekt og fungerer ved at køre:

komponist
Produktion: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Komponist version 1.10.7 2020-06- 03 10:03:56 Brug: kommando [indstillinger] [argumenter] 

Du har installeret composer på dit Ubuntu 20.04-system. Du kan nu begynde at bruge Composer til at administrere, opdatere og installere afhængigheder i dine PHP-projekter med det samme.

Installation af Composer lokalt

Det er nyttigt at installere Composer lokalt, når du ikke har tilladelse til at installere det på systemniveau, eller hvis du kun vil have Composer til et enkelt projekt. For at installere composer lokalt køres:

php composer-setup.php

Ovenstående kommando vil oprette en ny fil i din nuværende mappe kaldet komponist.phar. Du skal flytte denne fil til projektets rodmapp for at bruge Composer-funktionerne. Denne fil kan køres ved hjælp af kommandoen vist nedenfor.

php-komponist.phar

Grundlæggende om komponist

Nu, hvor du har Composer installeret på din Ubuntu 20.04-maskine, lad os se på nogle grundlæggende funktioner i Composer. Composer sigter mod at lette nem installation og opdateringer af afhængigheder, og for at gøre det opretter den mange filer i projektets rodmappe. Lad os se på biblioteksstrukturen for et projekt, der bruger Composer til at administrere afhængigheder.

Komponistprojektets rodstruktur:ProjectRoot/ ├── composer.json ├── composer.lock ├── Project.php ├── komponist.phar *Kun hvis du har installeret Composer lokalt └── sælger ├── autoload.php ├── komponist │ ├── ClassLoader.php │ ├── LICENS │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • Det composer.json fil, der er placeret i projektets rodmappe, gemmer al information om de afhængigheder (pakker), der kræves af projektet.
  • Det komponist.lås indeholder oplysningerne om de pakker, som er versionslåst for projektet.
  • sælger er mappen hvor alle pakkerne er gemt, den har også nogle PHP scripts som f.eks autoload.php, hvilket letter den automatiske medtagelse af pakkerne i leverandørbiblioteket.
  • Endelig, hvis du har installeret Composer lokalt, skal du have komponist.phar fil i projektmappen for at installere pakker.

Alle disse filer oprettes, når du bruger komponist eller php-komponist.phar kommando for at downloade og installere pakker til dit projekt første gang. Så lad os se på Composers virkemåde ved at oprette et demoprojekt.

Opret dit første projekt ved hjælp af Composer

Det første trin er at oprette en rodmappe til dit projekt, så opret en med mkdir kommando og naviger til den ved at bruge cd kommando:

mkdir ~/ComposerDemo cd ~/ComposerDemo

Nu skal vi finde og installere de pakker/biblioteker, der kræves for at bygge vores demoprojekt. Packagist er det vigtigste Composer-lager, som viser alle de offentligt tilgængelige PHP-pakker, der kan installeres med Composer.

I dette eksempel vil vi bruge en PHP-pakke kaldet cakephp/chronos, det er en simpel API-udvidelse til dato og tid. For at generere et nyt Composer-projekt og installere Chronos-pakken skal du køre følgende kommando:

komponist kræver cakephp/chronos
Produktion: Brug af version ^2.0 til cakephp/chronos ./composer.json er blevet oprettet. Indlæser komponistlagre med pakkeoplysninger Opdatering af afhængigheder (inklusive require-dev) Pakkeoperationer: 1 installation, 0 opdateringer, 0 fjernelser - Installation af cakephp/chronos (2.0.5) ): Downloader (100%) Skriver låsefil Genererer autoload-filer 

Det kræve option henter og installerer den ønskede pakke og genererer filer og mapper som f.eks composer.json, komponist.lås og sælger i projektets rodmappe. Det vil du se cakephp/chronos er tilføjet til composer.json hvis du kører følgende kommando:

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

Lad os derefter gøre brug af Chronos i vores demoprojekt, åbne og oprette en PHP-fil kaldet demo.php ved brug af nano:

nano demo.php

Tilføj derefter følgende kode til demo.php, den anden linje, som omfatter vendor/autoload.php er en Composer-fil, som automatisk indlæser alle de pakker og biblioteker, der er installeret til projektet. Gem filen ved at trykke på Ctrl+O og forlad derefter nano-editoren ved at trykke på Ctrl+X.

Udfør demo.php ved at køre følgende kommando:

php demo.php
Produktion: Nu: 2020-06-23 17:07:45

Når du i fremtiden skal opdatere pakkerne og bibliotekerne i dit projekt, skal du blot køre følgende kommando:

komponist opdatering

Ovenstående kommando vil søge efter den nyere version af installerede pakker og opdatere dem sikkert uden at ødelægge projektet og dets indbyrdes afhængige biblioteker.

Vi har set på, hvordan du installerer Composer på Ubuntu 20.04-maskine og set på det grundlæggende, du har brug for at vide om Composer. Du kan nu prøve at bygge nye projekter ved at tilføje de nødvendige pakker ved at søge på Packagist. Hvis du ønsker at lære mere om Composer og dens muligheder, gå videre til Composer online dokumentationsside.