Appel de classe dans un fichier [Résolu/Fermé]

Signaler
Messages postés
20
Date d'inscription
dimanche 30 octobre 2016
Statut
Membre
Dernière intervention
12 février 2017
-
Messages postés
20
Date d'inscription
dimanche 30 octobre 2016
Statut
Membre
Dernière intervention
12 février 2017
-
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!!

1 réponse

Messages postés
20
Date d'inscription
dimanche 30 octobre 2016
Statut
Membre
Dernière intervention
12 février 2017

J'ai trouvé la solution finalement