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