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
Réponse acceptée

Bonjour,

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

app\Autoloader::register();
djez
Auteur

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

Pas de soucis