Bonjour,
Voila je rencontre un petit problème avec mon code.
j'ai une erreur sur "prepare" et sur "query"et sur et je ne comprend pas pourquoi.
Quelqu'un peut-il m'aider.
Merci d'avance.
Voici mon code sur la fonction "core\Table\Table.php :
public function query($statement, $attributes = null, $one = false)
{
if ($attributes) {
return $this->db->prepare(
$statement,
$attributes,
str_replace('Table', 'Entity', get_class($this)),
$one
);
} else {
return $this->db->query(
$statement,
str_replace('Table', 'Entity', get_class($this)),
$one
);
}
}
bonjour.
qu'elle est l'erreur complète ?
car suivant l'erreur cela veut sûrement dure que $this->db est null.
as tu activé l'affichage des erreurs de PDO ? ( cf la doc php.net)
Voici l'erreur complète :
E:\wamp64\www\Grafikart\app\App.php
{
if (is_null(self::$_instance)) {
self::$_instance = new App();
}
return self::$_instance;
}
public static function load()
{
session_start();
require ROOT . '/app/Autoloader.php';
App\Autoloader::register();
require ROOT . '/core/Autoloader.php';
Core\Autoloader::register();
}
public function getTable($name)
{
$class_name = '\\App\\Table\\' . ucfirst($name) . 'Table';
return new $class_name($this->getDb());
}
public function getDb()
{
$config = Config::getInstance(ROOT . '/config/config.php');
if (is_null($this->db_instance)) {
$this->db_instance = new MysqlDataBase($config->get('db_name'), $config->get('db_user'), $config->get('db_pass'), $config->get('db_host'));
}
return $this->db_instance;
}
}
Arguments
"Class '\App\Table\PostTable' not found"
ah oui c'est différent de ce que l'on pourrait croire au premier message.
Donc as-tu bien une classe qui ce nom là dans le dossier /App/Table ?
Oui, mais je me demande si /App/Table c'est pareil que /app/Table avec le "a" de app en minuscule car dans mon arborescence le répertoire c'est "app" et non "App"
bon, ca n'a pas marché.
mais mainteant il me met :
Whoops\Exception\ErrorException thrown with message "Cannot declare class App, because the name is already in use"
Stacktrace:
2 Whoops\Exception\ErrorException in E:\wamp64\www\Grafikart\app\App.php:6 1 Whoops\Run:handleError in E:\wamp64\www\Grafikart\vendor\filp\whoops\src\Whoops\Run.php:408 0 Whoops\Run:handleShutdown in [internal]:0Voici ma class App :
<?php
use Core\Config;
use Core\Database\MysqlDatabase;
class App
{
public $title = "Mon super site";
private $db_instance;
private static $_instance;
public static function getInstance()
{
if (is_null(self::$_instance)) {
self::$_instance = new App();
}
return self::$_instance;
}
public static function load()
{
session_start();
require ROOT . '/app/Autoloader.php';
App\Autoloader::register();
require ROOT . '/core/Autoloader.php';
Core\Autoloader::register();
}
public function getTable($name)
{
$class_name = '\\App\\Table\\' . ucfirst($name) . 'Table';
return new $class_name($this->getDb());
}
public function getDb()
{
$config = Config::getInstance(ROOT . '/Config/config.php');
if (is_null($this->db_instance)) {
$this->db_instance = new MysqlDataBase($config->get('db_name'), $config->get('db_user'), $config->get('db_pass'), $config->get('db_host'));
}
return $this->db_instance;
}
}