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.exautoload.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.