Szoftverkészítéskor, legyen az egyszerű vagy összetett projekt, szinte adott, hogy a szoftver működése bizonyos külső könyvtáraktól, moduloktól vagy összetevőktől függ. A szoftver megfelelő működéséhez szükséges külső erőforrásokat függőségeknek nevezzük.
A függőségek hatékony kezelése minden projektben kulcsfontosságú folyamat. Szerencsére léteznek különböző eszközök, amelyek automatizálják a függőségkezelést és megkönnyítik a fejlesztők munkáját. Fejlesztőként a függőségkezelési eszközét befolyásolja az a nyelv és az ökoszisztéma, amelyben dolgozik.
Abban az esetben, ha a projektjeit PHP használatával építi fel, a Composer-t érdemes választania, mint választott eszközt a projektek függőségének kezelésére.
Tartalomjegyzék
Mi az a zeneszerző?
Zeneszerző egy népszerű eszköz, amelyet a PHP függőségek kezelésére terveztek és építettek. A Composer, amelyet nagymértékben ihletett a csomópont npm és ruby bundlerje, lehetővé teszi, hogy deklaráld azokat a külső könyvtárakat, amelyektől PHP-projekted függ, és kezelni fogja őket helyetted.
Ez azt jelenti, hogy a Composer telepíti a projekthez szükséges összes függőséget, és frissíti is azokat.
Azt is fontos megjegyezni, hogy a Composer nem olyan csomagkezelő, mint az Apt vagy a Yum. Bármennyire is foglalkozik a könyvtárakkal, ezek a könyvtárak alapértelmezés szerint nincsenek globálisan telepítve egy gépre. Ehelyett a Composer projektenként kezeli a függőségeket, és így csak helyileg telepíti a függőségeket a PHP projekten belüli könyvtárba.
A Composer azt is lehetővé teszi, hogy megtudja, mely csomagok mely verzióit lehet és kell telepíteni a projektben, és ezeket telepíti is. Egyetlen parancsot is biztosít, amellyel frissítheti a projekt összes függőségét.
A Composer elengedhetetlen eszköz a PHP-t használó projektek készítéséhez. A Composer hatékony függőségi kezelést tesz lehetővé, és egy tárhelyet is biztosít az úgynevezett Csomagoló amely PHP-csomagok és -könyvtárak széles választékát kínálja, amelyeket függőségekként adhat hozzá PHP-projektjeihez.
A megfelelő függőségkezelés egy olyan eszközzel, mint a Composer, lehetővé teszi a szoftverek moduláris fejlesztését, a zökkenőmentes verziókezelést és a csapatok közötti fokozott együttműködést. Ezenkívül segít elkerülni a kompatibilitási problémákat a szoftverekben, és segít karbantarthatóbbá tenni a projekteket.
Most nézzük meg, hogyan telepítheti a Composert az Ubuntuban. Először azonban nézzük meg azokat az előfeltételeket, amelyeket teljesítenie kell az Ubuntu telepítéséhez.
A Composer Ubuntuban való telepítésének előfeltételei
A Composer telepítése Ubuntuban:
1. Győződjön meg arról, hogy root felhasználóként hozzáférhet a terminálhoz, és végrehajthatja a parancsokat.
2. A PHP 7.2.5 és újabb verziója legyen telepítve a gépére. A terminál megnyitásával és végrehajtásával ellenőrizheti, hogy a PHP telepítve van-e a gépen és annak verziója
php -version
Ha telepítve van a PHP, akkor egy ilyen kimenetet kell kapnia:
Ha a PHP nincs telepítve, hajtsa végre a következő parancsot a telepítéshez:
sudo apt install php
3. Legyen verziókezelő rendszere. A Git kiváló választás erre. Erősítse meg a Git telepítését a következő futtatással:
git --version
Ha a Git telepítve van, akkor a következő verziószámot kapja:
Ha a Git nincs telepítve, futtassa a következő parancsot a telepítéshez
sudo apt install git
4. A fájlok kicsomagolásához használjon archívumkezelőt a gépére. Ehhez elegendő lesz a kátrány. Ellenőrizze, hogy a tar telepítve van-e a gépen, futtassa:
tar --version
Ha nincs tar, akkor a következő futtatásával telepítheti:
sudo apt-get install tar
Miután teljesítette a fenti előfeltételeket, készen áll a Composer telepítésére.
Hogyan telepítsük a Composert Ubuntu-ra
A Composer telepítésekor telepítheti globálisan a gépére, vagy helyileg PHP telepítés keretében. A globális telepítés lehetővé teszi a Composer elérését és hívását a számítógép bármely könyvtárából, ellentétben a helyi telepítéssel.
A Composer globális telepítése a Composer telepítésének javasolt módja, és mi ezt fogjuk tenni.
A Composer telepítése az Ubuntu-ra a terminálon keresztül magában foglalja a Composerben található szkriptek futtatását Letöltés oldalon.
Kövesse a következő lépéseket a Composer globális telepítéséhez az Ubuntun:
1. Nyissa meg a terminált, és hajtsa végre a következő parancsot a Composer telepítőjének az aktuális könyvtárba való letöltéséhez.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
2. Hajtsa végre a következő parancsot az SHA-384 telepítő ellenőrzéséhez.
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
A telepítő SHA-384 egy kriptográfiai hash érték, amely a Composer telepítő integritásának ellenőrzésére szolgál. Más szóval, ez egy biztonsági intézkedés annak biztosítására, hogy a letöltött telepítőt nem manipulálták vagy sérültek.
A fenti parancs futtatása egy olyan kimenetet generál, amelyen a Telepítő ellenőrizte az alábbiak szerint. Folytassa, ha ilyen kimenetet kap, amely megerősíti a telepítő integritását.
3. A telepítő futtatásához hajtsa végre a következő parancsot
php composer-setup.php
Meg kell kapnia egy ilyen kimenetet, amely megerősíti, hogy a Composer telepítése sikeres volt.
Figyelje meg, hogy a composer.phar, amely a Composer futtatható fájlja, hozzáadásra került ahhoz a könyvtárhoz, amelybe telepítette.
4. Mivel a Composer telepítése sikeresen megtörtént, futtassa a következő parancsot a korábban letöltött telepítő eltávolításához, mivel már nincs rá szüksége.
php -r "unlink('composer-setup.php');"
5. Annak érdekében, hogy a Composer globálisan telepítve legyen, és bármely könyvtárból meghívhassa, a composer.phar fájlt el kell helyeznie a PATH egyik könyvtárába. Ehhez hajtsa végre a következő parancsot, és adjon meg jelszót, amikor a rendszer kéri
sudo mv composer.phar /usr/local/bin/composer
6. A következő parancs végrehajtásával ellenőrizze, hogy a Composer telepítése sikeres volt-e:
composer
Ha a Composer telepítése sikeres volt, akkor ilyen kimenetet kell kapnia.
A zeneszerző használata
Ha a Composer telepítve van, a következő lépés a függőségek kezelése. Mint korábban említettük, a Composernek van egy tárháza, az úgynevezett Csomagoló amely a Composer segítségével függőségként telepíthető csomagokkal rendelkezik.
A Composer használatának megtekintéséhez telepíteni fogunk egy csomagot http-üzenet amely a HTTP üzeneteket leíró interfész.
A Composer használata a http-üzenet telepítéséhez:
1. Hozzon létre egy új mappát composerDemo néven, és navigáljon benne a következő parancsok végrehajtásával a terminálban, ill.
mkdir composerDemo
cd composerDemo
2. Hozzon létre egy .gitignore fájlt a könyvtárban a következő parancs végrehajtásával:
touch .gitignore
Ez a fájl lehetővé teszi annak meghatározását, hogy mely fájlokat ne kövesse nyomon a Git.
3. Hozzon létre egy composer.json fájlt a projekthez a következő végrehajtással:
composer init
A composer.json a Composer által használt központi konfigurációs fájl. Ebben megadhatja a projektjét leíró metaadatokat, és megadhatja azokat a függőségeket is, amelyekre a projekt támaszkodik, hogy a szerző automatikusan kezelhesse azokat.
A fenti parancs az alábbi kimenethez vezet:
Az útmutató végigvezeti a composer.json fájl létrehozásán. Az első promptban nyomja meg az Enter billentyűt a javasolt projektnév elfogadásához.
4. A következő promptban adja meg a projekt rövid leírását, majd nyomja meg az Enter billentyűt. Beillesztheti az alábbi rövid leírást, és nyomja meg az Enter billentyűt.
A demonstration of how to use PHP Composer
5. A következő prompt egy szerzőt kér; nyomja meg az Entert az alapértelmezett használatához.
6. Ezután meg kell adnia a Minimális stabilitást. Ehhez üresen hagyhatja az Enter billentyű lenyomásával a következő promptra lépéshez.
7. A következő promptban meg kell adnia a csomag típusát. Ehhez adja meg a projektet, és nyomja meg az Enter billentyűt az alábbiak szerint:
8. A licencet kérő promptban nyomja meg az Enter billentyűt, hogy üresen hagyja, és lépjen a következőre
9. Ezután a rendszer megkérdezi, hogy szeretné-e megadni a függőségeit; ehhez nyomja meg az Enter billentyűt az Igen kiválasztásához. Ez ezután felkéri, hogy keressen egy csomagot.
10. A csomag prompt kereséséhez írja be a http-üzenetet, és nyomja meg az enter billentyűt. Ez megkeresi a megadott csomagot, és az alábbi keresési eredményeket adja vissza:
A minket érdeklő csomag az első psr/http-message nevű csomag. A kiválasztásához írja be a hozzá tartozó számot, és nyomja meg az Enter billentyűt. Ezért írja be a 0-t (nulla), és nyomja meg az Enter billentyűt.
11. A következő felszólítás az igényelt verziókényszer megadása (vagy a legújabb verzió használatához hagyja üresen). Ehhez meg kell adnunk a használni kívánt verziót, vagy üresen kell hagynunk a legújabb verzió használatához.
A csomag legfrissebb verziójának megtekintéséhez látogasson el a Packagist oldalára. A legújabb verzió a 2.0, az alábbiak szerint:
A Composer automatikusan frissíti a csomagokat, amint elérhetők a frissítések. Azonban nem szeretné, hogy olyan verzióra frissüljön, amely visszafelé nem kompatibilis a projektben jelenleg használt verzióval, mivel ez megtöri a PHP kódot. Ennek elkerülése érdekében írja be a következőket a csomag verziójának megadásához, és nyomja meg az Enter billentyűt:
^2.0
Ez arra utasítja a Composert, hogy telepítse a 2.0-s vagy újabb verziót mindaddig, amíg ez a magasabb verzió visszafelé kompatibilis.
12. Ezután a rendszer felkéri, hogy keressen másik csomagot; egyszerűen nyomja meg az Enter billentyűt, hogy a következő promptra lépjen, és ne keressen másik csomagot.
13. Amikor a rendszer kéri a fejlesztői függőségek meghatározását, nyomja meg az Enter billentyűt. Csomagprompt keresésekor nyomja meg az Enter billentyűt a kihagyáshoz, mivel a fejlesztői függőségeink megegyeznek az élő függőségeinkkel.
14. A következő prompt kérni fogja a PSR-4 automatikus betöltési leképezés hozzáadását. Nyomja meg az Entert a kihagyáshoz.
15. Ezzel megtekintheti az imént létrehozott composer.json fájl előnézetét, az alábbiak szerint:
Nyomja meg az Entert a generálás megerősítéséhez.
16. A következő kérdés megkérdezi, hogy kívánja-e telepíteni a megadott függőségeket. Ehhez nyomja meg az Enter billentyűt a telepítéshez az alábbiak szerint:
17. A terminálban írja be a következő parancsot az imént létrehozott projekt kódszerkesztőben való megnyitásához
code .
Az eredmény az alábbiakban látható:
Figyelje meg, hogy egy composer.json fájl jött létre, és függőségeink a követelmény kulcs alatt vannak megadva. A telepített függőségek egy szállító nevű könyvtárba kerülnek telepítésre.
18. Az összes függőséget tartalmazó szállítói könyvtár nyomon követésének elkerülése érdekében nyissa meg a .gitignore fájlt, és illessze be a következő sort.
/vendor/
Javasoljuk, hogy ne kövesse nyomon ezt a fájlt, mert nagyon nagy lehet, és a függőségek könnyen telepíthetők automatikusan a composer.json fájlból.
19. A composure.json fájl létrehozása után könnyen hozzáadhat új függőségeket a composure.json fájl szükséges szakaszának szerkesztésével. Például egy log nevű csomag hozzáadásához adja hozzá a kívánt szakaszhoz az alábbiak szerint:
"require": { "psr/http-message": "^2.0", "psr/log": "^3.0.0" },
20. Az új függőség projektbe való telepítéséhez lépjen vissza a terminálhoz, és hajtsa végre a következőt:
composer update
Az eredmény az alábbiakban látható:
Ezzel telepíti az imént a composure.json fájlhoz adott csomagot.
Ezzel készen áll arra, hogy elkezdjen dolgozni a PHP-projektjein, és a Composer segítségével kezelje a projekt függőségeit.
A Composer optimalizálása a jobb csomagkezelés érdekében
Annak érdekében, hogy a Composer hatékonyabban működjön, győződjön meg róla, hogy pontosan adja meg a függőségek verziókorlátait. Erre volt példa, amikor a „^2.0”-t csináltuk.
Kerülje a nagyon tág verziókorlátokat, például a „*”-t, ami azt jelenti, hogy a Composer bármilyen verziót telepíthet. Ez kompatibilitási problémákhoz és stabilitási problémákhoz vezethet a projektben, mivel nem lehet megjósolni, hogy a Composer melyik verzióját fogja telepíteni.
Ezenkívül ne adjon túl sok egyéni szkriptet a composer.json fájlhoz. Csak a szükséges szkripteket adja hozzá. A túlzott szkriptek gyakran hatalmas többletköltséget okoznak a függőségkezelés során.
A Composer működési sebességének optimalizálásához engedélyezze a PHP curl kiterjesztését. Használhat Composer beépülő modulokat is, mint például a hirak/prestissimo, amelyek párhuzamosítják a Composer műveleteit, ami viszont felgyorsítja a csomagok telepítését.
A Composer gyorsítótárának tisztításával eltávolíthatja a régi és nem használt csomagokat a teljesítmény optimalizálása érdekében. Ezenkívül ne felejtse el követni és véglegesíteni azt a szállítói könyvtárat, amelybe a Composer telepítette a csomagokat. Ez segít felgyorsítani a projektek tárolóinak klónozását és frissítését.
A Composer eltávolítása
Ha már nem szeretné használni a Composert az Ubuntuban, eltávolíthatja a következő parancs végrehajtásával:
sudo rm -rf /usr/local/bin/composer
A Composer sikeres eltávolítását a következő parancs végrehajtásával ellenőrizheti:
composer
Ha teljesen eltávolította, akkor a következő kimenetet kell kapnia:
Következtetés
A függőségkezelés kulcsfontosságú folyamat a projektek felépítése során. A hatékony függőségkezelés biztosítja, hogy elkerülje a kompatibilitási problémákat a projektekben, és több karbantartható projektje legyen.
Ezenkívül lehetővé teszi a moduláris szoftverfejlesztést és a fejlesztői csapatok közötti fokozott együttműködést. Ha PHP-ben épít projekteket, fontolja meg a Composer hatékony használatát, és könnyen kezelje a projektben lévő függőségeket.
Ezután arról is olvashat, hogy mi az Ubuntu PPA, és hogyan kell telepíteni.