J'ai une application qui charge bien les classes en spl_autoload, mais seulement quand je n'ai pas d'espace de noms.
Dès que je mets des espaces de noms, j'ai le message :
Fatal error: spl_autoload(): Class NsPersistance\PersistanceData could not be loaded in E:\Wampsites\Divers\Appli_heritageEmploye\index.php on line 9
mon fichier index.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<?php
namespace NsApplication;
 
DEFINE ("RACINESITE", str_replace('index.php','', $_SERVER['SCRIPT_NAME']));
DEFINE ("DOSSIERRACINE", str_replace('index.php','', $_SERVER['SCRIPT_FILENAME']));
require ('includes'.DIRECTORY_SEPARATOR.'params.inc.php');
spl_autoload_register();
use \NsPersistance\PersistanceData;
$obj= new PersistanceData();
?>
mon fichier params.inc.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
 
DEFINE('DS', DIRECTORY_SEPARATOR);
set_include_path(DOSSIERRACINE . 'Interfaces' . PATH_SEPARATOR . DOSSIERRACINE . 'ClassesTechniques' . PATH_SEPARATOR . DOSSIERRACINE . 'ClassesMetier' . PATH_SEPARATOR . get_include_path());
spl_autoload_extensions(".class.php,.php,.inc.php");
?>
mon fichier PersistanceDatas.inc.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<?php
namespace NsPersistance;
 
class PersistanceData {
    public function __construct(){
        echo "dans le constructeur";
}
}
?>
Si quelqu'un peut m'aider !!!

Merci