salut,
j'ai comme objectif de recoder un projet existant en m'appliquant plus sur le code et en utilisant beaucoups plus les objets. Cependant, je n'arrive pas encore à bien définir la structure de mes objets et c'est là que j'ai besoin de votre aide
J'ai commencé avec le code ci-dessous, mais je n'arrive pas bien a me rendre compte si j'ai bien découpé mon code, comment communiquer entre plusieurs classes, bref, si vous avec le moindre commentaire / conseil n'hesitez pas !!!
ps : Pour vous faire une idée, mon projet pas super bien codé est visible sur http://albums.lichat.net
Code :
- <?php
- /**
- * L'Album est l'élément principal de ce projet
- * et est constitué d'Events.
- */
- class Album {
- var $config;
- var $events;
- function Album(){
- GLOBAL $cfg;
- $this->config = $cfg;
- }
- // Permet d'obtenir la liste des évènements
- function load_events(){
- $sql = 'SELECT idevent FROM events WHERE publier = "oui"';
- $query = mysql_query($sql, $this->config['SQLConnection']);
- while ($row = mysql_fetch_array($query)){
- $this->events[] = Events::load_event($row['idevent']);
- }
- }
- }
- /**
- * Les Events font partie de l'album et sont constitués de photos
- *
- */
- class Events extends Album {
- var $idevent;
- var $label;
- var $description;
- var $date;
- // Récupère les infos d'un évènement
- function load_event($idevent){
- $sql = 'SELECT * FROM events WHERE idevent = '.$idevent;
- $query = mysql_query($sql, $this->config['SQLConnection']);
- $row = mysql_fetch_array($query);
- $this->idevent = $row['idevent'];
- $this->label = $row['label'];
- $this->date = $row['date'];
- $this->description = $row['description'];
- }
- }
- /**
- * Les Photos font partie d'un Event
- *
- */
- class Photos extends Events {
- var $idphoto;
- var $idevent;
- var $label;
- var $description;
- var $date;
- // Récupère les infos d'une image
- function load_photo($idphoto){
- $sql = 'SELECT * FROM photos WHERE idphoto = '.$idphoto;
- $query = mysql_query($sql, $this->config['SQLConnection']);
- $row = mysql_fetch_array($query);
- $this->idphoto = $row['idphoto'];
- $this->idevent = $row['idevent'];
- $this->label = $row['label'];
- $this->date = $row['date'];
- $this->description = $row['description'];
- }
- }
- ?>
|