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.

Afbeelding

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Wat is Composer?
  2. Installatie van Composer
  3. Het eerste gebruik
  4. De werking van composer.lock
  5. De Autoloader uitgelegd
  6. Extra mogelijkheden met Composer

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.