Tutorials
Hoe werkt Composer...
Regelmatig zal je wel eens gezien hebben dat bepaalde classes of PHP-scripts pakketten die je wilt downloaden ook geschikt zijn voor Composer. Wat is het nou precies? Wat kan je ermee? En waar is het nu handig voor? In deze reportage laat ik de basis zien van Composer.
Pagina 1
Wat is Composer?
Composer is een PHP-tool voor 'afhankelijkheidsbeheer' tijdens het ontwikkelen van websites. Het is bedoeld voor de ervaren PHP-ontwikkelaar die graag zijn code wilt verbeteren en zijn work-flow wilt versoepelen.
Composer kan je in het Engelse benoemen als een 'dependency manager'. Het werkt via de CLI (Command Line Interface) die je vast ook wel eens op Linux en Windows hebt gezien, en bij velen ook beter bekend staat als de opdrachtprompt.
Met Composer kan je aangeven van welke pakketten (packages) jouw webproject afhankelijk is en heb je de mogelijkheid om deze te pakketten te beheren, zoals het updaten en installeren. Composer is overigens intelligent waardoor je haast niet voor problemen komt te staan. Een voorbeeld van een pakket is bijvoorbeeld Monolog, bedoeld om fouten in je PHP-applicatie te kunnen loggen naar een apart bestand. Maar ook complexere classes zoals de upload-class van Verot.net, het veel gebruikte phpMailer of de SDK van Facebook, Twitter of Buckaroo, zijn eenvoudig via Composer op te halen en bij te werken. En dat is nog maar een kleine greep in een grote ton met packages.
Ik denk dat de meesten in de Linux-sfeer misschien wel eens gehoord hebt van yum, dnf of apt waarmee je softwarepakketten kan installeren. Maar dit is niet exact hetzelfde waar je Composer mee kan vergelijken. De pakketten die je daarmee installeert zijn optioneel, maar bij Composer is je webproject afhankelijk van deze packages, waarbij soms bepaalde packages weer afhankelijk zijn van andere packages. Een ander verschil tussen deze en Composer is dat Composer alle packages installeert in een speciale map die /vendor heet. Ze zijn dus enkel per webproject te gebruiken, en dus niet voor iedereen op een webserver.

Composer kan je in het Engelse benoemen als een 'dependency manager'. Het werkt via de CLI (Command Line Interface) die je vast ook wel eens op Linux en Windows hebt gezien, en bij velen ook beter bekend staat als de opdrachtprompt.
Met Composer kan je aangeven van welke pakketten (packages) jouw webproject afhankelijk is en heb je de mogelijkheid om deze te pakketten te beheren, zoals het updaten en installeren. Composer is overigens intelligent waardoor je haast niet voor problemen komt te staan. Een voorbeeld van een pakket is bijvoorbeeld Monolog, bedoeld om fouten in je PHP-applicatie te kunnen loggen naar een apart bestand. Maar ook complexere classes zoals de upload-class van Verot.net, het veel gebruikte phpMailer of de SDK van Facebook, Twitter of Buckaroo, zijn eenvoudig via Composer op te halen en bij te werken. En dat is nog maar een kleine greep in een grote ton met packages.
Ik denk dat de meesten in de Linux-sfeer misschien wel eens gehoord hebt van yum, dnf of apt waarmee je softwarepakketten kan installeren. Maar dit is niet exact hetzelfde waar je Composer mee kan vergelijken. De pakketten die je daarmee installeert zijn optioneel, maar bij Composer is je webproject afhankelijk van deze packages, waarbij soms bepaalde packages weer afhankelijk zijn van andere packages. Een ander verschil tussen deze en Composer is dat Composer alle packages installeert in een speciale map die /vendor heet. Ze zijn dus enkel per webproject te gebruiken, en dus niet voor iedereen op een webserver.

Pagina 2
Installatie van Composer
Composer is te downloaden voor zowel Windows, Mac als de Linux distributies. Het mooiste is dat Composer ook voor een groot deel gebaseerd is op PHP, dus als je webserver PHP ondersteunt, dan zal Composer ook moeten werken. We gaan er wel vanuit dat je een niet veel oude PHP-versie hebt draaien, want de nieuwste Composer vereist PHP versie 7.2.5. Een oudere versie van Composer tot 2.2 vereist minimaal PHP versie 5.3.2, maar dan mis je wel weer handige features. Daarom is het altijd van belang om up-to-date te blijven.
Composer is naar mijn mening een must-have voor bij het ontwikkelen van je website, en elke websiteontwikkelaar doet dit natuurlijk lokaal op zijn eigen computer. Daarom maakt het niet uit als je websitehosting geen CLI biedt die ook de 'shell' of SSH genoemd wordt. Deze commando's kan je prima op je eigen computer uitvoeren om na afloop de hele berg aan packages via (S)FTP uploaden. Het werkt misschien wat minder praktisch omdat je uit de vendor-map na een composer-actie steeds moet uploaden, maar het werkt wel.
Als je een webserver hebt met Composer erop geïnstalleerd, dan kan je via de CLI al je acties in Composer uitvoeren, en hoef je niet alles steeds opnieuw te uploaden.
Installatie Linux / Mac
Als je op Linux Composer wilt installeren dan is dat erg simpel te doen door de volgende commando's in te voeren.
Je kan controleren of Composer al geïnstalleerd is door in de CLI 'composer -V' uit te voeren. Zie je de een uitvoer van het programma met het versie-nummer, dan is alles geïnstalleerd.
Ook wil het wel eens mogelijk zijn om bij webhostingspakketten zoals Cpanel, Plesk of DirectAdmin op eenvoudige wijze Composer uit te voeren. Als je een dergelijk systeem gebruikt, raadpleeg dan eerst hun handleiding of die van je hostingprovider om te kijken hoe dit daar werkt.
Als we van de reguliere situatie uitgaan, dan installeren we op deze manier Composer:
Hiermee halen we de nieuwste installatie-file op
We controleren voor de veiligheid de integriteit van Composer:
Als Composer geïnstalleerd en gezond is, dan zie je de tekst "Installer verified" op je scherm staan.
De laatste stap is Composer te installeren in de /usr/local/bin locatie op je server zodat iedereen er gebruik van kan maken, en er een alias met de naam 'composer' er aan vast te hangen. Daarna verwijder je de installatie weer omdat je die toch niet meer nodig hebt.
Installatie voor Windows
Voor Windows is de installatie een stuk simpeler. Dit kan ook via de command-line op een iets andere wijze als bij de Linux methode. De website (https://getcomposer.org/download/) beschrijft hoe dit moet, maar voor het kant-en-klare gemak is er ook een installatie-bestand in de vorm van een exe-executable. Dit is nog gemakkelijker omdat dit alles al instelt. Let erop dat dit dit wel met Administrator-rechten uitvoert. Na afloop is het raadzaam om je PC even te herstarten, zodat het composer-commando ook in de CLI werkt.
Composer is naar mijn mening een must-have voor bij het ontwikkelen van je website, en elke websiteontwikkelaar doet dit natuurlijk lokaal op zijn eigen computer. Daarom maakt het niet uit als je websitehosting geen CLI biedt die ook de 'shell' of SSH genoemd wordt. Deze commando's kan je prima op je eigen computer uitvoeren om na afloop de hele berg aan packages via (S)FTP uploaden. Het werkt misschien wat minder praktisch omdat je uit de vendor-map na een composer-actie steeds moet uploaden, maar het werkt wel.
Als je een webserver hebt met Composer erop geïnstalleerd, dan kan je via de CLI al je acties in Composer uitvoeren, en hoef je niet alles steeds opnieuw te uploaden.
Installatie Linux / Mac
Als je op Linux Composer wilt installeren dan is dat erg simpel te doen door de volgende commando's in te voeren.
Je kan controleren of Composer al geïnstalleerd is door in de CLI 'composer -V' uit te voeren. Zie je de een uitvoer van het programma met het versie-nummer, dan is alles geïnstalleerd.
Ook wil het wel eens mogelijk zijn om bij webhostingspakketten zoals Cpanel, Plesk of DirectAdmin op eenvoudige wijze Composer uit te voeren. Als je een dergelijk systeem gebruikt, raadpleeg dan eerst hun handleiding of die van je hostingprovider om te kijken hoe dit daar werkt.
Als we van de reguliere situatie uitgaan, dan installeren we op deze manier Composer:
Hiermee halen we de nieuwste installatie-file op
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
We controleren voor de veiligheid de integriteit van Composer:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
sudo php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Als Composer geïnstalleerd en gezond is, dan zie je de tekst "Installer verified" op je scherm staan.
De laatste stap is Composer te installeren in de /usr/local/bin locatie op je server zodat iedereen er gebruik van kan maken, en er een alias met de naam 'composer' er aan vast te hangen. Daarna verwijder je de installatie weer omdat je die toch niet meer nodig hebt.
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
sudo rm composer-setup.php
Installatie voor Windows
Voor Windows is de installatie een stuk simpeler. Dit kan ook via de command-line op een iets andere wijze als bij de Linux methode. De website (https://getcomposer.org/download/) beschrijft hoe dit moet, maar voor het kant-en-klare gemak is er ook een installatie-bestand in de vorm van een exe-executable. Dit is nog gemakkelijker omdat dit alles al instelt. Let erop dat dit dit wel met Administrator-rechten uitvoert. Na afloop is het raadzaam om je PC even te herstarten, zodat het composer-commando ook in de CLI werkt.
Pagina 3
Het eerste gebruik
Nu Composer is geïnstalleerd kunnen we eindelijk aan de slag gaan met de praktijk waarin we als voorbeeld met een kleine bestaande package, genaamd Monolog, mee aan de slag gaan.
De packagelijst
Het belangrijkste deel van Composer is het bestand composer.json. Deze staat in hoofddirectory waar je jouw website in ontwikkelt. Hierin staan alle packages vermeld waar jouw webproject van afhankelijk is. Dit bestand heeft een JSON-formattering, en als voorbeeld gebruiken we in deze tutorial dus Monolog, een eenvoudige tool om data in je website te kunnen loggen naar textbestanden en databases. Uiteindelijk kan je in plaats van dit ook andere bestaande packages gebruiken.
Met Monolog als voorbeeld ziet composer.json er zo uit:
Let erop dat je dit bestand niet zelf aan hoeft te maken. Heb je het al aangemaakt, dan is het ook geen probleem.
We gaan even terug naar de inhoud van het bestand. De groep "require" geeft aan welke packages je toe wilt voegen aan je project, en welke versie dit is. In dit geval gaat het om de laatste versie van Monolog, en dat is dus de 3.2.x versie waarbij het laatste getal staat voor de versie uit deze reeks. Je zal dan altijd de nieuwste versie van Monolog krijgen.
Installeren van de packages
Je kan handmatig aan de composer.json steeds een nieuwe package toevoegen, maar dit is uiteindelijk met een flinke lijst behoorlijk tijdrovend. Ook heb je de kans dat je fouten kan maken met als gevolg dat je JSON-bestand corrupt raakt, wat je liever wilt voorkomen voorkomen. Daarom heeft Composer de mogelijkheid om via de CLI een package toe te voegen. Dit voer je uit in de directory van je webproject.
Voor Monolog wordt dit dus:
Als je goed oplet is er een directory /vendor geplaatst met een autoloader, waar we later op ingaan, en het Monolog-package. Mocht je nog geen composer.json bestand hebben, dan wordt deze vanzelf aangemaakt.
Speciaal voor packages bestaat er een bibliotheek waarin je deze packages met hun namen kan vinden. Dit heet Packagist.org. Als we naar die site gaan en we zoeken naar Monolog, dan zien we die require code bovenaan staan. Die zorgt er dus voor dat de composer.json wordt aangepast met de gekozen package en ook wordt deze meteen geïnstalleerd, samen met de nodige bijbehorende (hulp-)packages. Wil je die extra hulppackages niet omdat je ruimte wilt besparen, dan kan je --no-dev achter het commando plaatsen.
Houd er wel rekening mee dat het downloaden en installeren, afhankelijk van de hoeveelheid, enige tijd kan duren. Let er wel op dat Composer afhankelijk is van de /vendor directory, en dat het niet de bedoeling is om zelf aanpassingen in deze directory te doen of daar scripts te bewerken. In dat geval zul je het script moeten 'forken' in bijvoorbeeld GitHub, maar dat laat ik in dit artikel buiten beschouwing.
Verwijderen van de packages
Mocht je een package willen verwijderen, dan kan dat weer eenvoudig met met remove commando. Dus voor Monolog gebruik je dit:
Ook de Autoloader waarover het het in het volgende hoofdstuk zullen hebben zal het script dan niet meer inladen. Wel moet je in jouw code de instantie en namespaces die naar de class verwijst weer netjes verwijderen. Het houdt weliswaar je packages op orde, maar niet je eigen script.
Update van alle packages
Met het 'composer update' commando worden alle packages geüpdated in de /vendor directory. Als je bepaalde packages al hebt, dan zal je daarvan de nieuwste versie krijgen. Deze is afhankelijk van wat er in je composer.json staat. Mocht je in de composer.json hebben staan dat je van een specifieke package versie 3.2 hebt, en versie 3.3 is door de ontwikkelaar uitgebracht, dan zal je altijd versie 3.2 krijgen, tenzij je packageconfiguratie aanpast. Zo is de kans klein dat je webapplicatie opeens zal 'breken' omdat de ontwikkelaar bijzondere aanpassingen gedaan heeft die jij moet doorvoeren.
Installeren van alle packages
Met het 'composer install' commando worden alle packages die beschreven zijn in composer.lock geïnstalleerd in de /vendor directory. In de praktijk doe je dit als je een nieuw website-project binnenhaalt en nog geen /vendor map hebt maar wel composer.lock. Wat composer.lock doet, leggen we in het volgende hoofdstuk uit.
De packagelijst
Het belangrijkste deel van Composer is het bestand composer.json. Deze staat in hoofddirectory waar je jouw website in ontwikkelt. Hierin staan alle packages vermeld waar jouw webproject van afhankelijk is. Dit bestand heeft een JSON-formattering, en als voorbeeld gebruiken we in deze tutorial dus Monolog, een eenvoudige tool om data in je website te kunnen loggen naar textbestanden en databases. Uiteindelijk kan je in plaats van dit ook andere bestaande packages gebruiken.
Met Monolog als voorbeeld ziet composer.json er zo uit:
{
"require": {
"monolog/monolog": "3.2.*"
}
}
Let erop dat je dit bestand niet zelf aan hoeft te maken. Heb je het al aangemaakt, dan is het ook geen probleem.
We gaan even terug naar de inhoud van het bestand. De groep "require" geeft aan welke packages je toe wilt voegen aan je project, en welke versie dit is. In dit geval gaat het om de laatste versie van Monolog, en dat is dus de 3.2.x versie waarbij het laatste getal staat voor de versie uit deze reeks. Je zal dan altijd de nieuwste versie van Monolog krijgen.
Installeren van de packages
Je kan handmatig aan de composer.json steeds een nieuwe package toevoegen, maar dit is uiteindelijk met een flinke lijst behoorlijk tijdrovend. Ook heb je de kans dat je fouten kan maken met als gevolg dat je JSON-bestand corrupt raakt, wat je liever wilt voorkomen voorkomen. Daarom heeft Composer de mogelijkheid om via de CLI een package toe te voegen. Dit voer je uit in de directory van je webproject.
composer require hier_je_packagenaam Voor Monolog wordt dit dus:
composer require monolog/monolog
Als je goed oplet is er een directory /vendor geplaatst met een autoloader, waar we later op ingaan, en het Monolog-package. Mocht je nog geen composer.json bestand hebben, dan wordt deze vanzelf aangemaakt.
Speciaal voor packages bestaat er een bibliotheek waarin je deze packages met hun namen kan vinden. Dit heet Packagist.org. Als we naar die site gaan en we zoeken naar Monolog, dan zien we die require code bovenaan staan. Die zorgt er dus voor dat de composer.json wordt aangepast met de gekozen package en ook wordt deze meteen geïnstalleerd, samen met de nodige bijbehorende (hulp-)packages. Wil je die extra hulppackages niet omdat je ruimte wilt besparen, dan kan je --no-dev achter het commando plaatsen.
Houd er wel rekening mee dat het downloaden en installeren, afhankelijk van de hoeveelheid, enige tijd kan duren. Let er wel op dat Composer afhankelijk is van de /vendor directory, en dat het niet de bedoeling is om zelf aanpassingen in deze directory te doen of daar scripts te bewerken. In dat geval zul je het script moeten 'forken' in bijvoorbeeld GitHub, maar dat laat ik in dit artikel buiten beschouwing.
Verwijderen van de packages
Mocht je een package willen verwijderen, dan kan dat weer eenvoudig met met remove commando. Dus voor Monolog gebruik je dit:
composer remove monolog/monologOok de Autoloader waarover het het in het volgende hoofdstuk zullen hebben zal het script dan niet meer inladen. Wel moet je in jouw code de instantie en namespaces die naar de class verwijst weer netjes verwijderen. Het houdt weliswaar je packages op orde, maar niet je eigen script.
Update van alle packages
Met het 'composer update' commando worden alle packages geüpdated in de /vendor directory. Als je bepaalde packages al hebt, dan zal je daarvan de nieuwste versie krijgen. Deze is afhankelijk van wat er in je composer.json staat. Mocht je in de composer.json hebben staan dat je van een specifieke package versie 3.2 hebt, en versie 3.3 is door de ontwikkelaar uitgebracht, dan zal je altijd versie 3.2 krijgen, tenzij je packageconfiguratie aanpast. Zo is de kans klein dat je webapplicatie opeens zal 'breken' omdat de ontwikkelaar bijzondere aanpassingen gedaan heeft die jij moet doorvoeren.
Installeren van alle packages
Met het 'composer install' commando worden alle packages die beschreven zijn in composer.lock geïnstalleerd in de /vendor directory. In de praktijk doe je dit als je een nieuw website-project binnenhaalt en nog geen /vendor map hebt maar wel composer.lock. Wat composer.lock doet, leggen we in het volgende hoofdstuk uit.
Pagina 4
De werking van composer.lock
Wat is composer.lock
Een belangrijk onderdeel van Composer is composer.lock. Dit bestand staat ook in je webproject map en bevat alle versieinstellingen van je packages. Het is een soort kopie van composer.json, maar dan met meer details, zoals als exacte laatste versies van je packages.
Dit bestand is vooral van toepassing als je jouw webproject via een versiebeheer-systeem zoals Git of het vroegere Subversion of CVS deelt met mede-collega's. Zo hebben zij na het ophalen van alle packages met 'composer install' exacte dezelfde inhoud in de /vendor staan als met die van hun collega's. Er is dan ook geen enkel verschil met versies die mogelijk hadden kunnen zorgen voor fouten in je webproject. Heb je dus versie 3.2.8 van een bepaalde package gedownload, en is inmiddels 3.2.10 uit, dan zal je altijd versie 3.2.8 na het install-commando krijgen. Een update-commando zorgt er wel voor dat je de nieuwste versie zal krijgen van je packages. Dus wees wel voorzichtig, en maak altijd een backup van je composer.lock file.
In de praktijk
Als we een bestaand project hebben, en de /vendor-directory met de packages mist nog, dan zijn we afhankelijk van de composer.lock of de composer.json. Als het niet uitmaakt welke sub-versie je specifiek krijgt volgens 'boodschappenlijstje' dan moet je 'composer update' uitvoeren. Als je exact de juiste subversie wilt hebben, dan moet je 'composer install' doen. Als je versie 6.1.2 gebruikt van een bepaalde package, dan krijg je die ook ongeacht versie 6.1.8 uit zal zijn.
Een belangrijk onderdeel van Composer is composer.lock. Dit bestand staat ook in je webproject map en bevat alle versieinstellingen van je packages. Het is een soort kopie van composer.json, maar dan met meer details, zoals als exacte laatste versies van je packages.
Dit bestand is vooral van toepassing als je jouw webproject via een versiebeheer-systeem zoals Git of het vroegere Subversion of CVS deelt met mede-collega's. Zo hebben zij na het ophalen van alle packages met 'composer install' exacte dezelfde inhoud in de /vendor staan als met die van hun collega's. Er is dan ook geen enkel verschil met versies die mogelijk hadden kunnen zorgen voor fouten in je webproject. Heb je dus versie 3.2.8 van een bepaalde package gedownload, en is inmiddels 3.2.10 uit, dan zal je altijd versie 3.2.8 na het install-commando krijgen. Een update-commando zorgt er wel voor dat je de nieuwste versie zal krijgen van je packages. Dus wees wel voorzichtig, en maak altijd een backup van je composer.lock file.
In de praktijk
Als we een bestaand project hebben, en de /vendor-directory met de packages mist nog, dan zijn we afhankelijk van de composer.lock of de composer.json. Als het niet uitmaakt welke sub-versie je specifiek krijgt volgens 'boodschappenlijstje' dan moet je 'composer update' uitvoeren. Als je exact de juiste subversie wilt hebben, dan moet je 'composer install' doen. Als je versie 6.1.2 gebruikt van een bepaalde package, dan krijg je die ook ongeacht versie 6.1.8 uit zal zijn.
Pagina 5
De Autoloader uitgelegd
We weten nu hoe we met de basis van Composer in de commandline om moeten gaan. Nu gaan we de packages in de praktijk brengen door ze in PHP werkend te krijgen.
Een van de mooie elementen waar Composer mee werkt is de Autoloader. Deze zorgt er voor dat alle packages die nodig hebt geïncludeerd worden. Je hoeft zelf dus geen ellenlange rijen bovenaan je script te plaatsen met require() en include() functies. Het enige wat je moet includeren is de autoloader. Bij veel demonstratie-scripts van ontwikkelaars worden deze al bovenaan de code geplaatst. Dus mocht jij je eerst afvragen waar de /vendor map aanwezig was in de download? Dan weet je nu dat je deze in de commandline moet aanmaken.
De Autoloader roep je op deze manier aan in je PHP-script:
We willen als voorbeeld Monolog gebruiken. Op dit punt heeft de Autoloader al zijn werk gedaan en volgen we nu de stappen om Monolog in ons project in te bouwen.
De werking van Monolog bespreken we verder niet in dit artikel, maar het zal vast wel duidelijk zijn dan dit script een simpel waarschuwingsbericht naar een bestand schrijft. Monolog kan je verder inzetten om ook naar databases, mail, developerconsoles te loggen, en prioriteit aan een melding toe te voegen. Als je log-regels naar bestanden gaat loggen, zorg er altijd voor dat je dit bestand verbergt buiten de webroot, want alleen jij hoeft je meldingen te lezen.
Et voila! We hebben nu met Composer ons eerste script gemaakt die met Monolog een regel naar een bestand kan loggen. Hopelijk ben je nu in staat om met andere packages aan de slag te gaan, zoals phpMailer, templateparsers zoals Smarty of Twig, of andere behulpzame tools die je maar kan vinden. De wereld van de packages is haast onuitputtelijk te noemen.
Een van de mooie elementen waar Composer mee werkt is de Autoloader. Deze zorgt er voor dat alle packages die nodig hebt geïncludeerd worden. Je hoeft zelf dus geen ellenlange rijen bovenaan je script te plaatsen met require() en include() functies. Het enige wat je moet includeren is de autoloader. Bij veel demonstratie-scripts van ontwikkelaars worden deze al bovenaan de code geplaatst. Dus mocht jij je eerst afvragen waar de /vendor map aanwezig was in de download? Dan weet je nu dat je deze in de commandline moet aanmaken.
De Autoloader roep je op deze manier aan in je PHP-script:
<?php
require __DIR__ . '/vendor/autoload.php';
/* Hier komt de rest van je script */
?>
We willen als voorbeeld Monolog gebruiken. Op dit punt heeft de Autoloader al zijn werk gedaan en volgen we nu de stappen om Monolog in ons project in te bouwen.
<?php
require __DIR__ . '/vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// Maak een nieuw logger object
$log = new Logger('voorbeeld');
// Voeg een handler toe om logs naar een bestand te schrijven
$log->pushHandler(new StreamHandler('logs/app.log', Logger::WARNING));
// Voeg een logboodschap toe
$log->warning('Dit is een waarschuwingsbericht.');
?>
De werking van Monolog bespreken we verder niet in dit artikel, maar het zal vast wel duidelijk zijn dan dit script een simpel waarschuwingsbericht naar een bestand schrijft. Monolog kan je verder inzetten om ook naar databases, mail, developerconsoles te loggen, en prioriteit aan een melding toe te voegen. Als je log-regels naar bestanden gaat loggen, zorg er altijd voor dat je dit bestand verbergt buiten de webroot, want alleen jij hoeft je meldingen te lezen.
Et voila! We hebben nu met Composer ons eerste script gemaakt die met Monolog een regel naar een bestand kan loggen. Hopelijk ben je nu in staat om met andere packages aan de slag te gaan, zoals phpMailer, templateparsers zoals Smarty of Twig, of andere behulpzame tools die je maar kan vinden. De wereld van de packages is haast onuitputtelijk te noemen.
Pagina 6
Extra mogelijkheden met Composer
Composer kan niet enkel packages installeren, updaten en verwijderen, maar nog meer meer.
Als je 'composer list' uitvoert in de CLI krijg je een overzicht van alle mogelijkheden. Geregeld na een update van Composer zelf komen er nieuwe handige functie erbij. Let er wel op dat je dit uitvoert vanuit de directory waar je /vendor map aanwezig is.
Een paar handige functies zijn:
composer audit: Dit controleert je toegevoegde packages op veiligheidslekken
composer bump: Verhoogt de waarde van de composer.json requirements naar de momenteel geïnstalleerde versies
composer fund: Als je wat geld over hebt, zoek je hiermee uit hoe je de makers van packages eventueel financieel kan steunen. Sommigen zijn je hier erg dankbaar voor ;-).
composer show: Laat zien welke packages je hebt geïnstalleerd.
composer self-update: Update composer naar de nieuwste versie. Hiervoor moet je wel in je operating-system de juiste administrator-rechten hebben.
composer outdated: Toon een lijst van pakketten die updates hebben en laat de nieuwste versienummers zien.
Dit is nog maar een kleine greep van alle functies. Dus raad ik aan om zelf eens met Composer te spelen. Zodra je ervaring ermee hebt opgebouwd kan je in de praktijk toepassen.
Veel succes met Composer!
Als je 'composer list' uitvoert in de CLI krijg je een overzicht van alle mogelijkheden. Geregeld na een update van Composer zelf komen er nieuwe handige functie erbij. Let er wel op dat je dit uitvoert vanuit de directory waar je /vendor map aanwezig is.
Een paar handige functies zijn:
composer audit: Dit controleert je toegevoegde packages op veiligheidslekken
composer bump: Verhoogt de waarde van de composer.json requirements naar de momenteel geïnstalleerde versies
composer fund: Als je wat geld over hebt, zoek je hiermee uit hoe je de makers van packages eventueel financieel kan steunen. Sommigen zijn je hier erg dankbaar voor ;-).
composer show: Laat zien welke packages je hebt geïnstalleerd.
composer self-update: Update composer naar de nieuwste versie. Hiervoor moet je wel in je operating-system de juiste administrator-rechten hebben.
composer outdated: Toon een lijst van pakketten die updates hebben en laat de nieuwste versienummers zien.
Dit is nog maar een kleine greep van alle functies. Dus raad ik aan om zelf eens met Composer te spelen. Zodra je ervaring ermee hebt opgebouwd kan je in de praktijk toepassen.
Veel succes met Composer!
Reacties
0