Bonjour,
Voila je rencontre un petit problème avec mon code.
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
Salut tu dois juste l'inclure dans ton projet
define('ROOT', dirname(DIR));
require ROOT . '/app/App.php';
App::load();