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

Ingmar Aasoja
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

Lokaliseerimine ja kvaliteetne tõlge: sild globaalsete turgude vahel

Lemme Suve
Digiajastul, kus piirid on muutunud virtuaalseks ja ettevõtted võivad jõuda klientideni üle kogu maailma, on kvaliteetne ja hästi läbimõeldud suhtlus...

Kliendi edulugu ehk kuidas Voog meie uuele VPS platvormile kolis

Tanel Männik
Käesoleva blogilooga heidame valgust ühele suvel aset leidnud ettevõtmisele, millega said kodumaise sisuhaldustarkvara Voo osad teenused virtuaalserveritest...

Hiina Veepiin ajab WordPresse hulluks

Ardi Jürgens
Zone analüütikud on pikka aega jälginud küberründeid, millel on ootamatuid sarnasusi iidse Hiina piinamismeetodiga. Nagu "veepiinamine", ei kujuta...

Kuidas Turbo nupp päästis E-smaspäeva

Katrin Sulg
Veebipood hammas32.ee jagas meiega oma positiivset kogemust Zone Turbo nupu kasutamisel, mis aitas neil E-smaspäeva kampaania ajal suurenenud koormusega...