Premièrement, si vous voulez utiliser des espaces de noms, rendez-les compatibles avec le chargeur automatique PSR-4! Vérifiez ce lien:
http://www.php-fig.org/psr/psr-4/
En d'autres termes, je vous demande de changer votre espace de noms Proxy
avec un capital.
Deuxièmement, pour activer le chargement automatique, vous devez enregistrer un autochargeur. Vous pouvez le faire vous-même en vérifiant cela sur http://php.net/manual/en/function.spl-autoload-register.php, ou, le meilleur moyen est d'installer Composer (https://getcomposer.org/). En utilisant Composer puis, si vous ne l'utilisez pas actuellement, exécutez composer init
à partir de votre racine de site, ce qui générera un composer.json
.
A l'intérieur du JSON, ajoutez cette entrée:
"autoload": {
"psr-4": {
"Proxy": "src/"
},
},
qui prend toutes les classes commençant par namespace Proxy aller dans le répertoire src
.
Depuis que vous avez apporté des modifications à la configuration de chargement automatique, exécutez composer dumpautoload
et générer des feuilles de classage nouvelles.
Enfin, dans vos scripts, require_once 'vendor/autoload.php
et vous n'aurez plus jamais besoin d'une classe require
!
require_once 'vendor/autoload.php';
use Proxy\Proxy;
$proxy = new Proxy();
La convention est basée sur le chemin du fichier et le nom, donc src/Proxy.php
est namepace Proxy
, class Proxy
. src/Something/Else.php
serait namespace Proxy\Something
avec class Else
.
Amusez-vous! :-D
Vous avez toujours besoin d'inclure le fichier de classe .... en utilisant namespacing pour une classe ne fait pas automagiquement les inclusions pour vous, il leur suffit de les espaces de noms –