problème de poo

Par djez, il y a 9 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

j'essaye d'utiliser l'autoloader de class mais n'y parvient pas.
je remonte bien dans la hierarchie puisque file_exists est bon

Le début de ma page index

<?php if (file_exists("../app/Autoloader.php")) { echo "ca existe"; } else { echo "pages introuvable"; } require "../app/Autoloader.php"; Autoloader::register(); ?>

ma page Autoloader

<? namespace app; class Autoloader { static function register() { spl_autoload_register(array(__CLASS__, 'autoload')); } static function autoload($class) { if(strpos($class, __NAMESPACE__.'\\')===0) { $class=str_replace(__NAMESPACE__ . '\\','',$class); require(__DIR__.'/'.$class.'.php'); } } } ?>

Ce que j'obtiens

! ) Fatal error: Class 'Autoloader' not found in D:\namespace\djez\public\index.php on line 4
pour info ma page index se trouve a D:\namespace\djez\public\index.php
ma page Autoloader.php se trouve a D:\namespace\djez\app\
Autoloader.php
je ne vois pas ce que j'ai mal fait.
Pourriez vous m'aider SVP ?
D'avance merci.

3 réponses

AlexJM, il y a 9 ans

Bonjour,

Ta classe se trouve dans le namespace app, tu dois donc faire :

app\Autoloader::register();
djez, il y a 9 ans

en effet c'etait cela pourtant il me semblait avoir essayer mais ca ne marchais pas. peut etre une faute de frappe.
Merci à toi.

AlexJM, il y a 9 ans

Pas de soucis