Problème autoloader

Par Skraf, il y a 9 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Bonsoir, j'ai créer l'autoloader de la formation POO, le problème est qu'il me charge pas les bons fichiers.

Voici mon architecture:

|_ Lib
|_MonProjet
|_vendor
|_src
|_Autoloader
|_autoloader.php
|_Model
|_database.php
|_ect
|_src
|_ect

Voici le code de mon autoloader:

<?php namespace Lib\Vendor\Src; 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); $class = str_replace('\\', '/', $class); require($_SERVER['DOCUMENT_ROOT'] . '/' . $class . '.php'); } } }

En cas d'erreur sur mon database.php, voici mon code:

<?php namespace Lib\DigitalCubics\Vendor\Src\Model; use \PDO; class Database{ private $db_name; private $db_user; private $db_pass; private $db_host; private $pdo; public function __construct( $db_name, $db_user = 'root', $db_pass = 'root', $db_host = 'localhost') { $this->db_name = $db_name; $this->$db_user = $db_user; $this->$db_pass = $db_pass; $this->$db_host = $db_host; } private function getPDO(){ $pdo = new PDO('mysql:dbname=general__news;host=localhost', 'root', 'root'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this-$pdo = $pdo; return $pdo; } public function query($statement){ $req = $this->getPDO()->query($statement); $datas = $req->fetchAll(PDO::FETCH_OBJ); return $datas; } }``` ### Ce que je veux Je voudrais que mon autoloader charge les fichiers de mon site ### Ce que j'obtiens Ce que j'obtient, c'est une simple page blanche. PS: c'est mon premier message sur le forum, désoler si il y a des problèmes au niveau du code. Cordialement

1 réponse

Adrien426, il y a 9 ans

Salut tu dois juste l'inclure dans ton projet
define('ROOT', dirname(DIR));
require ROOT . '/app/App.php';
App::load();