autoload et fichier pleinement qualifié
Posté : 18 févr. 2018, 18:25
Bonsoir,
je souhaite mettre en place un système d'autoload pour ne plus avoir à faire des include. La seule POO dans mon code concerne PDO mais ça serait quand même pratique.
Voici mon code actuel.
Le fichier principal contient au début ces lignes :
EDIT : au fait, pourquoi j'ai mis fichier pleinement qualifié dans le titre : avec mes recherches, j'ai vu ça :
je souhaite mettre en place un système d'autoload pour ne plus avoir à faire des include. La seule POO dans mon code concerne PDO mais ça serait quand même pratique.
Voici mon code actuel.
Le fichier principal contient au début ces lignes :
<?php
include_once dirname(__DIR__)."/includes/config.php";
require_once dirname(__DIR__).'/includes/connect/testautoloader2.php';
include_once dirname(__DIR__)."/includes/connect/connect_mysql.php";
?>
config.php : <?php
session_start();
define("ROOT", "html5test");
?>
testautoloader2.php : <?php
include_once dirname((__DIR__))."\config.php";
$autoloader = function($full_class_name) {
// on prépare le terrain : on remplace le séparteur d'espace de nom par le séparateur de répertoires du système
$name = str_replace('\\', DIRECTORY_SEPARATOR, $full_class_name);
// on construit le chemin complet du fichier à inclure :
// il faut que l'autoloader soit toujours à la racine du site
$path = ROOT."\includes\connect\\".$name.'.php';
// on vérfie que le fichier existe et on l'inclut
// sinon on passe la main à une autre autoloader (return false)
if (is_file($path)) {
include $path;
} else {
return false;
}
};
spl_autoload_register($autoloader);
?>
connect_mysql.php : <?php
include_once dirname((__DIR__))."\config.php";
//// connexion
try{
$bdd = new MyPdo("calendar");//("calendar");
echo "bdd(connect_mysql 8)=".$bdd."<br/>";
}
catch(PDOException $e){
echo "argggggggggggggg".$e->getMessage();
return(FALSE);
}
?>
et le message d'erreur : Donc comment faire marcher ça ?Fatal error: Class 'MyPdo' not found in C:\wamp64\www\vhstest160218\includes\connect\connect_mysql.php on line 7
EDIT : au fait, pourquoi j'ai mis fichier pleinement qualifié dans le titre : avec mes recherches, j'ai vu ça :
Mais je n'ai pas trouvé le sens de fichier pleinement qualifié. Donc peut-on me renseigner ?Une fois que tu as le nom de fichier pleinement qualifié, tu peux l'inclure automatiquement