[RESOLU] Autoload

Eléphant du PHP | 253 Messages

17 févr. 2017, 23:58

Bonjour à tous, pourriez vous m'aider?

J'aimerais charger mes classes automatiquement, mes classes sont situées dans un des dossiers différents Model et Functions.
l'arborescence est comme ça:

Code : Tout sélectionner

index Controller InvoicingController.php Model Invoice.php Functions Function.php
Comment puis je procéder?

Merci à vous.

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8755 Messages

20 févr. 2017, 09:57

salut,

avec l'utilisation des espaces de noms.
par exemple en suivant la recommandation PSR-4[/php].

Le gestionnaire de paquet [url=https://getcomposer.org/]Composer
peut le faire pour toi (entre autre).


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 253 Messages

20 févr. 2017, 21:42

Super merci,

Pour ce qui ne serait pas comment faire,

un composer.json avec le namespace et les sources

Code : Tout sélectionner

{ "autoload": { "psr-4": { "Model\\" : "Model/" } } }
ensuite on fait un update de composer.
Dans le fichier ou l'on veut utiliser l'autoloading

Code : Tout sélectionner

<?php require_once '../vendor/autoload.php'; $Invoice = new Model\Invoice(); ?>