När man bygger programvara, oavsett om det är ett enkelt eller komplext projekt, är det nästan givet att programvaran kommer att vara beroende av vissa externa bibliotek, moduler eller komponenter för att fungera korrekt. Dessa externa resurser som behövs för att programvara ska fungera korrekt kallas beroenden.
Att effektivt hantera beroenden i alla projekt är en avgörande process. Lyckligtvis finns det olika verktyg utformade för att automatisera beroendehantering och göra det lättare för utvecklare. Som utvecklare kommer ditt verktyg för beroendehantering att påverkas av språket och ekosystemet du arbetar i.
Om du bygger dina projekt med PHP, bör du inte leta längre än Composer som ditt favoritverktyg för att hantera beroenden i dina projekt.
Innehållsförteckning
Vad är kompositör?
Kompositör är ett populärt verktyg som är designat och byggt för att hantera beroenden i PHP. Composer, som är mycket inspirerad av nodens npm och ruby’s bundler, låter dig deklarera externa bibliotek som ditt PHP-projekt är beroende av, och det kommer att hantera dem åt dig.
Detta innebär att Composer kommer att installera alla beroenden som behövs för ditt projekt och även hålla dem uppdaterade.
Det är också viktigt att notera att Composer inte är en pakethanterare som Apt eller Yum. Så mycket som det handlar om bibliotek, är dessa bibliotek som standard inte installerade globalt på en maskin. Istället hanterar Composer beroenden per projekt, och därför installerar den bara beroenden lokalt i en katalog inuti PHP-projektet du bygger.
Composer låter dig också ta reda på vilka versioner av vilka paket som kan och behöver installeras i ditt projekt, och den installerar dem åt dig. Det ger också ett enda kommando som du kan använda för att uppdatera alla beroenden i ditt projekt.
Composer är ett viktigt verktyg när man bygger projekt med PHP. Composer möjliggör effektiv beroendehantering, och den tillhandahåller också ett arkiv som kallas Packagist som ger ett stort urval av PHP-paket och bibliotek som du kan lägga till i dina PHP-projekt som beroenden.
Korrekt beroendehantering med hjälp av ett verktyg som Composer möjliggör modulär utveckling av programvara, sömlös versionskontroll och förbättrat samarbete mellan team. Dessutom hjälper det till att undvika kompatibilitetsproblem i programvara och hjälper till att göra projekt mer underhållbara.
Låt oss nu titta på hur du kan installera Composer i Ubuntu. Men låt oss först titta på de förutsättningar du måste uppfylla innan du kan installera Ubuntu.
Förutsättningar för att installera Composer i Ubuntu
Så här installerar du Composer i Ubuntu:
1. Se till att du kan komma åt terminalen på din maskin och utföra kommandon som root-användare.
2. Ha PHP version 7.2.5 och senare installerad på din maskin. Du kan kontrollera om du har PHP installerat på din maskin och dess version genom att öppna terminalen och köra
php -version
Om du har PHP installerat bör du få en sådan utdata:
Om PHP inte är installerat, kör följande kommando för att installera det:
sudo apt install php
3. Ha ett versionskontrollsystem. Git är ett utmärkt val för detta. Bekräfta att du har Git installerat genom att köra:
git --version
Om Git är installerat får du ett versionsnummer så här:
Om Git inte är installerat, kör följande kommando för att installera det
sudo apt install git
4. Ha en arkivhanterare installerad på din maskin som ska användas vid dekomprimering av filer. För detta kommer tjära att räcka. Kontrollera om tar är installerad på din maskin genom att köra:
tar --version
Om du inte har tar kan du installera den genom att köra:
sudo apt-get install tar
När du har uppfyllt ovanstående förutsättningar är du redo att installera Composer.
Hur man installerar Composer på Ubuntu
När du installerar Composer kan du installera den globalt på din maskin eller lokalt i samband med en PHP-installation. En global installation låter dig komma åt och ringa Composer från vilken katalog som helst på din maskin, till skillnad från en lokal installation.
Att installera Composer globalt är det rekommenderade sättet att installera Composer, och det är vad vi kommer att göra.
Att installera Composer på Ubuntu via terminalen innebär att man kör skript som finns på Composer’s ladda ner sida.
Följ följande steg för att installera Composer globalt på Ubuntu:
1. Öppna terminalen och utför följande kommando för att ladda ner Composers installationsprogram till den aktuella katalogen.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
2. Utför följande kommando för att verifiera installationsprogrammet SHA-384.
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Installationsprogrammet SHA-384 är ett kryptografiskt hashvärde som används för att verifiera Composer-installationsprogrammets integritet. Det är med andra ord en säkerhetsåtgärd för att säkerställa att installationsprogrammet du laddade ner inte har manipulerats eller skadats.
Att köra kommandot ovan bör generera en utdata som säger Installer verifierad som visas nedan. Fortsätt när du får en sådan utdata som bekräftar din installatörs integritet.
3. Kör följande kommando för att köra installationsprogrammet
php composer-setup.php
Du bör få en sådan utdata som bekräftar att Composer har installerats.
Observera att composer.phar, som är den körbara filen för Composer, lades till i katalogen du installerade den på.
4. Eftersom Composer har installerats framgångsrikt, kör följande kommando för att ta bort installationsprogrammet du laddade ner tidigare eftersom du inte längre behöver det.
php -r "unlink('composer-setup.php');"
5. För att säkerställa att Composer är installerat globalt och att du kan anropa det från vilken katalog som helst, vill du lägga filen composer.phar i en katalog på din PATH. För att göra detta, kör följande kommando och ange ett lösenord när du uppmanas
sudo mv composer.phar /usr/local/bin/composer
6. Kontrollera att Composer har installerats framgångsrikt genom att utföra följande kommando:
composer
Om Composer har installerats framgångsrikt bör du få en sådan utdata.
Hur man använder kompositör
Med Composer installerat är nästa steg att använda den för att hantera beroenden. Som nämnts tidigare har Composer ett arkiv som heter Packagist som har paket som kan installeras som beroenden med hjälp av Composer.
För att se hur man använder Composer kommer vi att installera ett paket som heter http-meddelande som är ett gränssnitt som beskriver HTTP-meddelanden.
Så här använder du Composer för att installera http-meddelande:
1. Skapa en ny mapp som heter composerDemo och navigera inuti den genom att utföra följande kommandon i terminalen, respektive
mkdir composerDemo
cd composerDemo
2. Skapa en .gitignore-fil i katalogen genom att köra:
touch .gitignore
Den här filen låter dig specificera vilka filer som inte ska spåras av Git.
3. Skapa en composer.json-fil för ditt projekt genom att köra:
composer init
En composer.json är en central konfigurationsfil som används av Composer. I den anger du metadata som beskriver ditt projekt och anger även de beroenden som ditt projekt förlitar sig på så att kompositören automatiskt kan hantera dem åt dig.
Ovanstående kommando leder till utgången nedan:
Guiden tar dig genom att skapa en composer.json-fil. I den första prompten, tryck på Enter för att acceptera det föreslagna projektnamnet.
4. I nästa uppmaning ger du en kort beskrivning av projektet och trycker på Enter. Du kan klistra in den korta beskrivningen nedan och trycka på Enter.
A demonstration of how to use PHP Composer
5. Nästa uppmaning frågar efter en författare; tryck på Enter för att använda standardinställningen.
6. Därefter kommer du att bli ombedd att ange minimistabilitet. För det kan du lämna det tomt genom att trycka på Enter för att gå till nästa prompt.
7. Nästa prompt kräver att du anger en pakettyp. För det, gå in i projektet och tryck på Enter som visas nedan:
8. När du frågar efter en licens trycker du på Enter för att lämna den tom och gå till nästa
9. Du kommer sedan att bli tillfrågad om du vill ange dina beroenden; för detta, tryck på Enter för att välja Ja. Detta kommer sedan att be dig att söka efter ett paket.
10. I sökningen efter en paketprompt anger du http-meddelande och trycker på enter. Detta kommer att söka efter det angivna paketet och returnera sökresultaten enligt nedan:
Paketet vi är intresserade av är det första paketet som heter psr/http-meddelande. För att välja det, ange numret som är kopplat till det och tryck på Enter. Ange därför 0 (noll) och tryck på Enter.
11. Nästa uppmaning är att ange versionsbegränsningen som krävs (eller lämna tomt för att använda den senaste versionen). För detta måste vi ange vilken version vi vill använda eller lämna den tom för att använda den senaste versionen.
För att kontrollera paketets senaste version, gå till dess sida på Packagist. Den senaste versionen är version 2.0, som visas nedan:
Composer uppdaterar automatiskt paket när uppdateringar är tillgängliga. Du vill dock inte att den ska uppdateras till en version som inte är bakåtkompatibel med den version du för närvarande använder i ditt projekt, eftersom det kommer att bryta din PHP-kod. För att undvika detta, skriv in följande för att ange versionen av paketet och tryck på Enter:
^2.0
Detta talar om för Composer att installera version 2.0 eller högre så länge den högre versionen är bakåtkompatibel.
12. Du kommer då att bli ombedd att söka efter ett annat paket; Tryck bara på Enter för att gå till nästa prompt och inte söka efter ett annat paket.
13. När du blir ombedd att definiera dina dev-beroenden, tryck på Enter. På sökningen efter en paketprompt, tryck på Enter för att hoppa över den, eftersom våra dev-beroenden kommer att vara desamma som våra Live-beroenden.
14. Nästa uppmaning kommer att be dig lägga till PSR-4 autoload mappning. Tryck på Enter för att hoppa över det.
15. Detta kommer att ge dig en förhandsvisning av filen composer.json som du just skapade, som visas nedan:
Tryck på Enter för att bekräfta genereringen.
16. Nästa uppmaning frågar om du vill installera de beroenden du angav. För detta, tryck på Enter för att installera dem enligt nedan:
17. Ange följande kommando i terminalen för att öppna projektet du just skapade i en kodredigerare
code .
Resultatet visas nedan:
Lägg märke till att en composer.json-fil genererades och våra beroenden anges under nyckeln require. De beroenden som installeras installeras i en katalog som heter leverantör.
18. För att undvika att spåra leverantörskatalogen, som har alla beroenden, öppna .gitignore-filen och klistra in följande rad.
/vendor/
Det rekommenderas att du inte spårar den här filen eftersom den kan bli väldigt stor och beroenden kan enkelt installeras automatiskt från filen composer.json.
19. Efter att ha skapat en composure.json-fil kan du enkelt lägga till nya beroenden genom att redigera den nödvändiga delen i composure.json-filen. Till exempel, för att lägga till ett paket som heter logg, lägg till det i det obligatoriska avsnittet enligt nedan:
"require": { "psr/http-message": "^2.0", "psr/log": "^3.0.0" },
20. För att installera det nya beroendet i ditt projekt, gå tillbaka till terminalen och kör:
composer update
Resultatet visas nedan:
Detta installerar paketet du just lade till i din composure.json-fil.
Med det är du nu redo att börja arbeta med dina PHP-projekt och använda Composer för att hantera beroenden i ditt projekt.
Hur man optimerar Composer för bättre pakethantering
För att låta Composer arbeta mer effektivt, se till att du anger versionsbegränsningar för beroenden korrekt. Ett exempel på detta var när vi gjorde ”^2.0”.
Undvik mycket breda versionsbegränsningar som ”*” vilket innebär att Composer kan installera vilken version som helst. Detta kan leda till kompatibilitetsproblem och stabilitetsproblem i ditt projekt eftersom du inte kan förutsäga vilken version Composer kommer att installera.
Undvik dessutom att lägga till alltför många anpassade skript till filen composer.json. Lägg bara till de nödvändiga skripten. Överdrivna skript leder ofta till en enorm omkostnad under beroendehantering.
För att optimera drifthastigheten för Composer, aktivera PHP curl extension. Du kan också använda Composer-plugins som hirak/prestissimo, som parallelliserar Composer-operationer som i sin tur påskyndar installationen av paket.
Du kan också rengöra Composers cache för att ta bort gamla och oanvända paket för att optimera dess prestanda. Kom också ihåg att inte spåra och commit leverantörskatalogen där paket installeras av Composer. Detta kommer att hjälpa till att påskynda kloningen och uppdateringen av dina projekts förråd.
Hur man avinstallerar Composer
Om du inte längre vill använda Composer i Ubuntu kan du avinstallera det genom att köra följande kommando:
sudo rm -rf /usr/local/bin/composer
Du kan bekräfta att Composer har avinstallerats genom att utföra följande kommando:
composer
Om du är helt avinstallerad bör du få en sådan utdata:
Slutsats
Beroendehantering är en avgörande process när man bygger projekt. Effektiv beroendehantering säkerställer att du undviker kompatibilitetsproblem i dina projekt och har mer underhållbara projekt.
Dessutom möjliggör det modulär mjukvaruutveckling och förbättrat samarbete mellan utvecklarteam. Om du bygger projekt i PHP, överväg att använda Composer effektivt och enkelt hantera beroenden i ditt projekt.
Därefter kan du också läsa om vad som är Ubuntu PPA och hur du installerar det.