Bonjour,
je vais essayer d'être le plus clair possible.
Voici l'architecture de mon site: a la racine de mon site, j'ai une page pour ma connexion a ma bdd qui s'appelle "core.php"
try{
$bdd = new PDO('mysql:host=localhost;dbname=entouteautonomie', 'root', '');
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$bdd->exec('SET NAMES utf8');
} catch (Exception $e){
echo 'Impossible de se connecter à la base de donnée';
echo $e->getMesage();
die();
}
require("model/model.php");
. Ensuite j'ai un dossier "Model" pour mes class.
Jusque la tout fonctionne.
J'ai également un dossier "Admin" pour administrer le site. A partir de la je voudrais faire appel a ma class Model mais cela ne fonctionne pas.
Bizarrement j'ai mon header qui est dupliquer 2 fois et j'ai cette erreur " Fatal error: Cannot redeclare class Model "
require'header.php';
require "../core.php";
$Newsletter = Model::load("newsletter");
Merci pour votre aide
solution
if(!class_exists(Model)) require('model/model.php');
dans le fichier core.php
Il faudrait voir l'intégralité de tes fichiers, mais à coup sur c'est un "require" qui "boucle". Essaye d'utiliser plutôt un "require_once", qui évitera ce genre de redéclaration de class (que PHP n'autorise pas bien sur ^^)
T'as raison. Mais classement des inclusions par ordre de rapidité d' exécution:
include
require
include-once
require-once