site de A à Z php (J3)

Par jess, il y a 13 ans


bonjour
je suis au tuto 3 ,avec beaucoup d'erreurs
l'une d'elles:
aucune des mes class d'héritage (Post et PagesController)ne trouve pas les classes Model et Controller
voici les classes Post et Model
merci d'avance
<?php
class Model{
static $connections=array();
public $conf='default';
public $table = false;
public $db;

public function __construct(){

conf = Conf::databases$this->conf] ;

if(isset(model::connectionsthis->conf])){
this->db = model::connections$this->conf];

return TRUE;
}

try {
pdo= new PDO('mysql:host='.conf'host'].';dbname='.conf'database'].';', $conf'login'],conf'password'],array
(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES utf8')) ;
pdo->setAttribute(PDO::ATTR\_ERRMODE,PDO::ERRMODE\_WARNING); model::connectionsthis->conf]=pdo;
$this->db = $pdo;

}
catch (PDOException $e){

if(Conf::debug >=1){ die(e->getMessage());
}else {
die('impossible de se connecter à la base de donnée');
}

}
if ($this->table===FALSE){

this->table = strtolower(get\_class(this)).'s';
}
}

public function find($req){

sql = 'SELECT \* FROM '. $this->table.' as '.get\_class(this).'' ;
//consrtruction de la conditions
if(isset(req'conditions'])){ $sql.= ' WHERE '; if(!is\_array(req'conditions'])){
sql.=req'conditions'];
}else {
cond = array(); foreach (req'conditions']as k=>v){
if(!is_numeric(v)){ $v ='"'. mysql\_escape\_string(v).'"';
}

cond] = "k=v"; } $sql.= implode(' AND ',cond);
}
}
pre = $this->db->prepare(sql);
$pre->execute();
return $pre->fetchAll(PDO::FETCH_OBJ);
}

public function findFirst(req){ return current(this->find($req));

}
}
?>

//////////////////////////////

<?php
class Post extends Model
{
private function __construct()
{
public $table = 'posts';
}
}
?>

5 réponses

djtec, il y a 13 ans

Tu as quoi comme erreur?

jess, il y a 13 ans

comme erreur:

( ! ) Fatal error: Class 'Controller' not found in C:\wamp\www\tuto\site\Controller\PagesController.php on line 3
Call Stack

Time Memory Function Location

1 0.0031 675528 {main}( ) ..\PagesController.php:0

Aureroy, il y a 13 ans

Entoure ton code des balises [code] stp parce que la c'est illisible

djtec, il y a 13 ans

Donne le code de ton pagescontroller

Aureroy, il y a 13 ans

Regarde si tu require Controller et Model avant d'inclure ton pagesController. Et pour info faut pas mettre $table dans la fonction __construct dans ton Post model il faut juste mettre :

class Post extends Model{

    public $table = 'posts';

}