Hur man installerar och använder PHP Composer på Ubuntu 20.04 LTS

Komponera ditt PHP-projekt med lätthet genom att låta kompositören hantera alla beroenden

Composer är ett beroendehanteringsverktyg för PHP. Det skiljer sig från den traditionella pakethanteraren som t.ex benägen och dnf, på ett sätt så att den inte installerar paketen och biblioteken globalt på en systemomfattande nivå utan hanterar dem för varje projekt separat. Det är alltså en beroendehanterare och inte en pakethanterare.

Ungefär som hur en musikkompositör tar ett gäng instrument och arrangerar dem så att de fungerar felfritt på en konsert, tar Composer for PHP ett gäng bibliotek och ramverk, paketerar dem för att fungera tillsammans och skapa en solid grund som ett PHP-projekt kan byggas på. sammansatt.

Förutsättningar

Du behöver tillgång till ett Ubuntu 20.04-system med en icke-root sudo användarkonto. Dessutom måste du installera vissa beroenden för Composer, vilket inkluderar php-cli för att köra PHP-skript i din terminal, packa upp för att hjälpa Composer att extrahera de nedladdade paketen och ringla för att ladda ner installationsskriptet för kompositören

För att installera alla nödvändiga paket, uppdatera Ubuntu-paketlistan genom att köra uppdateringskommandot:

sudo apt uppdatering

Installera sedan php-cli, packa upp och ringla med följande kommando:

sudo apt installera php-cli unzip curl

Du kommer att uppmanas att bekräfta installationen, tryck på Y tryck sedan på enter. När du har uppfyllt alla förutsättningar kan du fortsätta att installera Composer.

Ladda ner och installera Composer

Composer erbjuder ett snyggt PHP-skript för att ladda ner och installera det på din maskin från kommandoraden. Vi måste använda ringla för att ladda ner det här skriptet, verifiera dess äkthet av säkerhetsskäl och kör det sedan för att installera Composer.

Se till att din terminal är öppen i hemkatalogen och ladda sedan ner installationsskriptet med hjälp av ringla:

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

Därefter måste vi verifiera att installationsskriptet vi har laddat ner är äkta genom att matcha SHA-384-hash-värdet för det med det som finns på Composer Public Key/ Checksums-sidan. För att göra det, skaffa SHA-384-hash från Composer Public Key-sidan och lagra den i en skalvariabel.

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

Kontrollera sedan att du framgångsrikt har erhållit och lagrat hashen i variabeln genom att köra:

echo $Hash

Du bör få en utdata av någon slumpmässig sträng som denna från terminalen:

Produktion: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Kör nu följande PHP-kod från Composer för att verifiera installationsskriptets äkthet:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$Hash') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup .php'); } echo PHP_EOL;"
Produktion: Installatören verifierad

Om du ser någon annan utgång som t.ex Installationsprogrammet är korrupt, då vet du att skriptet är skadat och att det inte är säkert att köra. Ladda ner skriptet igen med curl, kör sedan PHP-koden i terminalen igen för att verifiera installationsskriptet.

Du kan fortsätta med installationen när du har verifierat installationsprogrammet. Du kan installera Install the Composer globalt eller lokalt för ett enskilt projekt.

Installera Composer globalt

För att installera Composer globalt som ett systemomfattande kommando med namnet kompositör, kör följande kommando:

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

Composer kommer att installeras i /usr/local/bin katalog på ditt Ubuntu 20.04-system och du kommer att se utdata som detta:

Produktion: Alla inställningar är korrekta för att använda Composer Laddar ner... Composer (version 1.10.7) har installerats på: /usr/local/bin/composer Använd den: php /usr/local/bin/composer 

Kontrollera att Composer är korrekt installerat och fungerar genom att köra:

kompositör
Produktion: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Kompositör version 1.10.7 2020-06- 03 10:03:56 Användning: kommando [alternativ] [argument] 

Du har framgångsrikt installerat composer på ditt Ubuntu 20.04-system. Du kan nu börja använda Composer för att hantera, uppdatera och installera beroenden i dina PHP-projekt direkt.

Installera Composer lokalt

Att installera Composer lokalt är användbart när du inte har behörighet att installera den på en systemomfattande nivå eller om du bara vill ha Composer för ett enstaka projekt. Så här installerar du kompositören körs lokalt:

php composer-setup.php

Kommandot ovan kommer att skapa en ny fil i din nuvarande katalog som heter kompositör.phar. Du måste flytta den här filen till projektets rotmapp för att använda Composer-funktionerna. Den här filen kan köras med kommandot som visas nedan.

php composer.phar

Grundläggande kompositör

Nu när du har Composer installerat på din Ubuntu 20.04-maskin, låt oss titta på några grunder i Composer. Composer syftar till att underlätta enkel installation och uppdateringar av beroenden och för att göra det skapar den många filer i projektets rotkatalog. Låt oss titta på katalogstrukturen för ett projekt som använder Composer för att hantera beroenden.

Kompositörsprojektets rotstruktur:ProjectRoot/ ├── composer.json ├── composer.lock ├── Project.php ├── kompositör.phar *Endast om du har installerat Composer lokalt └── Säljare ├── autoload.php ├── kompositör │ ├── ClassLoader.php │ ├── LICENS │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • De composer.json filen som finns i projektets rotkatalog lagrar all information om beroenden (paket) som krävs av projektet.
  • De kompositör.lås innehåller informationen om paketen som är versionslåsta för projektet.
  • Säljare är katalogen där alla paket lagras, den har även en del PHP-skript som t.ex autoload.php, vilket underlättar den automatiska inkluderingen av paketen i leverantörskatalogen.
  • Slutligen, om du har installerat Composer lokalt måste du ha kompositör.phar fil i projektkatalogen för att installera paket.

Alla dessa filer skapas när du använder kompositör eller php composer.phar kommandot för att ladda ner och installera paket för ditt projekt första gången. Så låt oss titta på hur Composer fungerar genom att skapa ett demoprojekt.

Skapa ditt första projekt med hjälp av Composer

Det första steget är att skapa en rotkatalog för ditt projekt, så skapa en med mkdir kommandot och navigera till det med hjälp av CD kommando:

mkdir ~/ComposerDemo cd ~/ComposerDemo

Nu måste vi hitta och installera de paket/bibliotek som krävs för att bygga vårt demoprojekt. Packagist är huvudförrådet för Composer som listar alla allmänt tillgängliga PHP-paket som kan installeras med Composer.

I det här exemplet kommer vi att använda ett PHP-paket som heter cakephp/chronos, det är ett enkelt API-tillägg för datum och tid. För att generera ett nytt Composer-projekt och installera Chronos-paketet kör följande kommando:

kompositör kräver cakephp/chronos
Produktion: Använder version ^2.0 för cakephp/chronos ./composer.json har skapats. Laddar kompositarkiv med paketinformation Uppdatering av beroenden (inklusive require-dev) Paketoperationer: 1 installation, 0 uppdateringar, 0 borttagningar - Installera cakephp/chronos (2.0.5) ): Laddar ner (100%) Skriver låsfil Genererar autoload-filer 

De behöva option hämtar och installerar paketet du önskar och genererar filerna och katalogerna som t.ex composer.json, kompositör.lås och Säljare i projektets rotkatalog. Du kommer att se det cakephp/chronos läggs till composer.json om du kör följande kommando:

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

Låt oss sedan använda Chronos i vårt demoprojekt, öppna och skapa en PHP-fil som heter demo.php använder sig av nano:

nano demo.php

Lägg sedan till följande kod till demo.php, den andra raden som inkluderar vendor/autoload.php är en Composer-fil som automatiskt laddar alla paket och bibliotek som är installerade för projektet. Spara filen genom att trycka på Ctrl+O och avsluta sedan nanoredigeraren genom att trycka på Ctrl+X.

Utför demo.php genom att köra följande kommando:

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

När du i framtiden behöver uppdatera paketen och biblioteken för ditt projekt, kör helt enkelt följande kommando:

kompositörsuppdatering

Ovanstående kommando kommer att söka efter den nyare versionen av installerade paket och uppdatera dem säkert utan att bryta projektet och dess ömsesidigt beroende bibliotek.

Vi har tittat på hur du installerar Composer på Ubuntu 20.04-maskinen och tittat på grunderna du behöver veta om Composer. Du kan nu försöka bygga nya projekt genom att lägga till de nödvändiga paketen genom att söka på Packagist. Om du vill lära dig mer om Composer och dess alternativ, gå vidare till Composer online-dokumentationssida.