bonjours j'ai un petite perobleme dans ce tuto avec la function model::load on dirait qu'elle charge pas le model reagardez l'erreur :
index.php:
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('tijara');
require_once('Model.php') ;
Model::load('Category');
$Category->id = 2;
$Category->read('TEXT');
?>
Category.php
<?php
class Category extends Model{
var $table = 'category';
}
?>
model.php
<?php
class Model{
public $table;
function read($field){
if($field == null){ $field = "*"; }
$sql = "SELECT $field FROM $this->table WHERE ID = $this->id";
$req = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_assoc($req);
foreach($data as $k=>$v){
$this->$k = $v;
}
}
static function load($name){
require("$name.php");
return new $name();
}
}
?>
( ! ) Fatal error: Call to undefined method stdClass::read() in C:\wamp\www\tijara\index.php on line 9
Call Stack
# Time Memory Function Location
1 0.0020 365280 {main}( ) ..\index.php:0
Ta fonction load retourne un objet $name, or en faisant juste Model::load('Category') tu ne récupères pas cet objet Category que tu viens d'instancier et tu ne peux donc pas y accéder. En faisant comme suit, cela corrige l'erreur :
$Category = Model::load('Category');