Kaheksa Composer’i käsku, mida võiks teada iga PHP arendaja

Ingmar Aasoja
RSS: Jaga:

Jätkuks artiklile, kuidas alustada Composer’i kasutamist, toon välja mõned enamlevinud käsud, mida iga PHP arendaja võiks teada. Neid käske läheb suuremalt jaolt vaja igapäevatöös. Kes on varem kasutanud mõnda pakihaldurit, näiteks npm või yarn, leiab siit äratundmisrõõmu ja mitmeid sarnasusi.

Kaheksa Composer'i käsku, mida võiks teada iga PHP arendaja

Install ehk sõltuvuste alla laadimine ja seadistamine.

composer install käsk käivitatakse sõltuvuste täpsete versioonide paigaldamiseks, mis on kirjeldatud composer.lock failis. See on esmane käsk, kui tõmmatakse alla uus kood versioonihaldusest ja vendor (koht, kuhu paigaldatakse pakid) kataloog on tühi. Kui composer.lock fail puudub, siis paigaldatakse võimalikult uued versioonid sarnaselt update käsule.

Update ehk sõltuvuste uuendamine.

composer update kontrollib üle composer.json faili sisu, kus on märgitud soovitud sõltuvused, ja paigaldab vastavalt sellele kõige uuemad pakid. Seejuures kontrollitakse kõik pakid, et paigaldatavad versioonid ühilduksid. Samuti uuendab see composer.lock faili, salvestades sinna paigaldatud seisu, et järgmise install käsuga juba vastavaid versioone kasutataks.

Require ehk uue sõltuvuse paigaldamine

composer require vendor/pakinimi kasutatakse uue sõltuvuse paigaldamiseks. Kui vastav pakk leitakse, siis kontrollitakse selle sõltuvusi teiste paigaldatud pakkidega ja tõmmatakse alla kõige uuem versioon. Samuti märgitakse see composer.json faili ning uuendatakse täpse paigaldatud versiooniga ka composer.lock faili.

Remove ehk sõltuvuse eemaldamine.

composer remove vendor/pakinimi eemaldab sõltuvuse failid ning selle info nii composer.json kui ka composer.lock failist, et seda sõltuvust ei paigaldataks ka järgmise composer install käsuga.

Outdated ehk uuenduste kontrollimine

composer outdated annab infot pakkide kohta, millest on väljas uuem versioon. Kontrollitakse, et uuemad versioonid oleks sobilikud composer.json failis määratud sõltuvustega. Eraldi märgitakse ära otsesed sõltuvused, mis on kirjas composer.json failis, ning ka sõltuvused, mis on tulnud kaasa teiste pakkidega.

Audit ehk turvanõrkuste kontroll

composer audit kontrollib pakkide turvanõrkusi Packagist.org API kaudu. Kui teatud CVE koodid tegelikult rakenduse kontekstis nõrkust ei avalda, saab need composer.json failis määrata ignoreeritavaks. Audit annab teada ka mahajäetud pakkidest, mida enam ei arendata, mis tähendab, et vastav sõltuvus tuleks asendada mõne uuega.

Depends näitab, miks on vastav pakk paigaldatud.

composer depends vendor/pakinimi kuvab, miks mõni sõltuvus on paigaldatud. See on kasulik, kui mõni pakk läheb sõltuvuses konflikti mõne teisega, mida on soov paigaldada, või kui audit annab teada mõnest turvanõrkusest. See on eriti oluline juhul, kui vastav sõltuvus pole määratud composer.json failis, vaid on tulnud kaasa mõne kolmanda osapoole pakiga. See aitab teha otsust, kuidas edasi käituda. Vahest aitab näiteks kolmanda osapoole paki uuendamine, kui uuemas versioonis seda sõltuvust ei ole, või siis hoopis asendada otsene sõltuvus mõne muu pakiga.

Show näitab sõltuvuse infot.

composer show vendor/pakinimi kuvab paigaldatud sõltuvuse täpsemat infot, sealhulgas täpset paigaldatud versiooni ja selle sõltuvusi.

Lõppsõna

Kokkuvõtteks võib öelda, et Composer on võimas tööriist, mis võimaldab lihtsalt hallata ja paigaldada sõltuvusi, hoida projekte ajakohasena ning tagada, et kõik vajalikud paketid töötavad omavahel sujuvalt koos. Eespool kirjeldatud käsud, nagu install, update, require ja remove, on igapäevatööks hädavajalikud. Samas käsud nagu outdated, audit, depends ja show aitavad arendajatel jälgida ja hallata projektide sõltuvusi ka juba teisel tasemel.

Käesolevas artiklis püüdsin reastada käsud nende kasutustiheduse järgi, mis on muidugi väga subjektiivne ja sõltub projektist ning arendajast.

Populaarsed postitused

Ringmajandusega tipphariduseni – rohkem kui lihtsalt “vanaraud”

Ringmajandusega tipphariduseni – rohkem kui lihtsalt "vanaraud"

Sten Nurmeta
Kui me otsustasime annetada oma serveripargi seadmeid VOCO-le, ei olnud see lihtsalt vanade seadmete utiliseerimine. See oli investeering Eesti IT-hariduse...
Zone Webmail 3.6: parem ülevaade, sujuvam töö

Zone Webmail 3.6: parem ülevaade, sujuvam töö

Kaarel Urva
Zone Webmail 3.6 toob kasutajani rea uuendusi, mis annavad e-posti kasutamisel rohkem valikuvabadust ja sujuvama töövoo. Uues versioonis saab senisest...
SSL/TLS sertifikaatide eluiga lüheneb

SSL/TLS sertifikaatide eluiga lüheneb

Kaarel Urva
Alates 2026. aasta märtsist hakatakse välja andma lühema kehtivusajaga SSL/TLS-sertifikaate. Aastatel 2026–2029 väheneb sertifikaadi eluiga seniselt...
Drop catching ehk miks on domeeni aegumine tõsine probleem

Drop catching ehk miks on domeeni aegumine tõsine probleem

Nikita Tikhomirov
Domeeni aegumine on hetk, mil astuvad mängu automaatsed süsteemid ja teenused, mille eesmärk on domeen endale napsata murdosa sekundiga. Seda protsessi...