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:
2
3
4
5
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.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.
Inhoudsopgave
- Wat is Composer?
- Installatie van Composer
- Het eerste gebruik
- De werking van composer.lock
- De Autoloader uitgelegd
- Extra mogelijkheden met Composer