04 Composer et autoloading
Vous aurez remarqué que depuis le TP 1 nous utilisons le fichier autoload.php pour charger les librairies installées via composer.
Et si je souhaite charger automatiquement mes propres fichiers ?
composer.json
Nous l'avons déjà vue, ce fichier permet de lister les dépendances dont notre projet à besoin mais nous pouvons également y ajouter nos propres fichiers.
Architecture de projet
Il convient pour ce faire d'adopter l'architecture suivante:
-- src/
-- vendor/
-- composer.json
-- composer.lock
-- index.php
Si nous ajoutons un fichier functions.php dans notre dossier src, il suffit de modifier le fichier composer.json comme ceci pour ajouter notre fichier de fonctions à l'autoloader:
{
"require": {
"mikecao/flight": "^1.3",
},
"autoload": {
"files": [
"src/functions.php",
"src/utils.php"
]
}
}
Via l'objet autoload et sa propriété files nous indiquons à composer de charger les fichiers lister. Ainsi functions.php et utils.php seront chargés automatiquement.
Attention il convient d'appeller la commande composer dump-autoload
après chaque modification du fichier composer.json.
Vous savez désormais charger automatiquement vos fichiers via composer, ainsi seul le require de l'autoloader de composer sera requis. En clair vous n'aurez plus besoin de charger un à un vos fichiers PHP !