Appel de classe dans un fichier

Résolu/Fermé
thermos111 Messages postés 20 Date d'inscription dimanche 30 octobre 2016 Statut Membre Dernière intervention 12 février 2017 - Modifié par thermos111 le 9/11/2016 à 00:14
thermos111 Messages postés 20 Date d'inscription dimanche 30 octobre 2016 Statut Membre Dernière intervention 12 février 2017 - 9 nov. 2016 à 00:15
Bonjour,
Je suis débutant en POO et j'essaie d'appeler mes classes dans mes fichier avec le namespace.
Pour cela je suis me créer un fichier Autoloader.php et j'ai essaier d'appeler mes classes dans
home.php mais ça affiche : Fatal error: Class 'Essaie\Autoloader' not found in C:\Users\thiba\PhpstormProjects\Projet_article\home.php on line 5
Donc j'ai regarder à la ligne 5 et tout est ok et je ne comprend pas ce qui cloche.
Je vous mes à disposition mes fichiers.

Autoloader.php

namespace Essaie; //namespace : organiser les classes
class Autoloader
{
static function register()
{
spl_autoload_register(array(__CLASS__, 'autoload')); //__CLASS__ recupere le nom de la classe dynamiquement
//spl_autolad_registrer : enregistre le nom de la fonction et est pratique pour en appeler plusieur dans des fichiers différent
}

static function autoload($nom_classe) //fonction pour appeler les classes
{

if(strpos(__NAMESPACE__, '\\') == 0)//si on met le préfixe du namespace, strpos : cherche la position de la premiere occurence
{
$nom_classe = str_replace(__NAMESPACE__, '\\', $nom_classe); //remplace le namespace par \\ puis le nom de la classe

$nom_classe = str_replace('\\', '/', $nom_classe);

require $nom_classe.'.php'; //require les classes
}
}

//appelle du autoloader dans un fichier ex : Autoloader::register();


home.php

<?php

namespace Essaie;

Autoloader::register();

$db = new Database('mysql:host=localhost;dbname=test_poo', 'root', '');

$donnees = $db->query('select * from article');

var_dump($donnees[0]->NomArticle); //recupere index 0 titre



//$count = $pdo->exec('insert into article set NomArticle="baleine", dateArticle = "'.date('Y-m-d H:i:s').'" ');


?>


merci de votre aide!!
A voir également:

1 réponse

thermos111 Messages postés 20 Date d'inscription dimanche 30 octobre 2016 Statut Membre Dernière intervention 12 février 2017
9 nov. 2016 à 00:15
J'ai trouvé la solution finalement
0