A PHP alapú weboldalaknál gyakran használunk mástól származó, kész megoldásokat. Ez érthető és nyilvánvaló is, hiszen ha például pdf-et, Word fájlokat kellene előállítani, vagy mondjuk zip-be tömöríteni, esetleg hírlevelet küldeni, akkor nem állunk neki a nulláról kifejleszteni, különösen ha egy amúgy ritkán használt dologról van szó (és főleg ha egyéb ismeretet is megkövetel, mert például a zip formátum lelkivilágát viszonylag kevesen ismerik).
Szerencsére szinte mindenre van kész megoldás, ami úgymond tipikus feladat, funkció, tehát csak használni kell, ami viszont nem mindig egyszerű feladat, főleg a bonyolultabb dolgok esetén (mert amúgy csak egy require a kódban és letudva), mert van hogy sok más megoldásra, kódra épül és esetleg még azok is továbbiakra.
Egy konkrét példa lehet a PHPWord nevű kész megoldás a Word fájlok létrehozására, amelynek egy halom más függősége is van:
XML Parser extension
ZendEscaper component
ZendStdlib component
Zip extension
GD extension
XMLWriter extension
XSL extension
dompdf library
Ezek egy részét maga a PHP adja, de nem mindet és azokat külön be kell szerezni. Amit ugyan meg lehet tenni, de elképzelhető, hogy azok további kódokra épülnek és a végén már egy totális káosz az egész.
Belátható tehát, hogy ez így nehezen járható út és nincs is erre szükség, mert század ennyi munkával is megoldható teljesen automatikusan, a Composer használatával.
A Composer-nek csak meg kell mondani, hogy mit szeretnénk használni és beszerzi, a szükséges egyéb kódkönyvtárakkal együtt.
Egy hátránya van, hogy normál tárhelyen nem igazán használható, mivel parancssorral működik, ami tárhelyen tipikusan nyilván nincs. De egy bármely Windows, Linux, macOS számítógépre telepíthető a fejlesztési változat és utána már csak a tárhelyre kell eljuttatni.
Ehhez valamilyen webszerver is szükséges az adott gépen, például Windows esetén a WAMP.
Ha ez már megvan, akkor a Composer telepítése a következő lépés. A telepítése során lesz egy lépés, amelynél ki kell választani a PHP-t. Ez lehetőség szerint a weboldalnál használt PHP verzióval egyezzen meg:
A telepítés után a weboldal mappájába hozz létre egy composer.json fájlt.
A tartalma minimálisan ez legyen:
{
"require":
{
}
}
A zárójelek közé kerülnek azok a dolgok, amiket használatba vennél. Ezeket beszerezni tipikusan az adott kód telepítési útmutatójában leírtak szerint tudod.
Például ha szükséged van a PHPMailer email küldőre, akkor ez kerül bele (ez le is van írva egyébként itt):
"phpmailer/phpmailer": "~6.0"
Vagyis így néz ki:
{
"require":
{
"phpmailer/phpmailer": "~6.0"
}
}
Komolyabban érdekel a PHP?
Kattints ide oktató videókért!
Ezt követően ABBAN A MAPPÁBAN állva ki kellene adni a telepítési parancsot (composer install) parancssorból, ahol a composer.json is van:
Segítség ehhez:
nyisd meg a Windows fájlkezelőt > válaszd ki a mappát > tartsd lenyomva a Shift-et > kattints jobb egérrel > majd powershell vagy parancssor ablak megnyitása itt
Ha minden jól ment, akkor nem írhat hibát:
És a weboldal mappájában van egy vendor mappa így már:
Bármi, bármennyi különféle PHP kódkönyvtárat, megoldást is telepítesz így, azokat mindet használatba veheted a weboldalon, egyetlen sor kóddal:
require('vendor/autoload.php');
A composer.json fájl több dolgot is tartalmazhat felsorolva:
{
"require":
{
"phpmailer/phpmailer": "~6.0",
"setasign/fpdf": "1.8.1"
}
}
De a használatba vételükhöz még mindig csak a require('vendor/autoload.php'); szükséges.
A Composer-tel történő telepítéshez beszerezhetők csomagok (kód könyvtárak) a packagist.org weboldalon is. Van kereső is, tehát ha nem valami konkrétat keresel, akkor általánosságban is keresheted (pl. zip tömörítésnél csak arra keresve, hogy zip).

Termék tesztek, hírek, bemutatók ✦ mobilok, okosórák, médialejátszók, stb. ✦ kattints ide!