- <?php
-
- #
- # Auteur : Kassim Machioudi
- # Email : yafuka [chez] yafuka.com
- # Web : http://www.yafuka.com
- #
-
- interface IUser {
- function estMembre ();
- function estModerateur ();
- function estAdmin ();
- function __toString();
- }
-
- # les membres
- class membre implements IUser {
- private $pseudo;
-
- public function __construct ( $nick ) {
- $this->pseudo = $nick;
- }
-
- # un membre peut lire
- public function estMembre () {
- return true;
- }
-
- # un membre ne peut pas ecrire
- public function estModerateur () {
- return false;
- }
-
- # un membre ne peut pas supprimer
- public function estAdmin () {
- return false;
- }
-
- public function __toString () {
- return "Membre";
- }
- }
-
- # les moderateurs
- class moderateur extends membre {
- private $pseudo;
-
- public function __construct ( $nick ) {
- $this->pseudo = $nick;
- }
-
- # un moderateur peut ecrire
- public function estModerateur () {
- return true;
- }
-
- public function __toString () {
- return "Modérateur";
- }
- }
-
- # les administrateurs
- class administrateur extends moderateur {
- private $pseudo;
-
- public function __construct ( $nick ) {
- $this->pseudo = $nick;
- }
-
- # un moderateur peut ecrire
- public function estAdmin () {
- return true;
- }
-
- public function __toString () {
- return "Administrateur";
- }
- }
-
- function creerObjet ( $acces, $pseudo ) {
- # tous les acces possibles
- $table_acces = array(1 => "membre", 2 => "moderateur", 3 => "admin");
-
- # on return null si l'acces n existe pas
- if ( !array_key_exists ( $acces, $table_acces ) ) {
- return NULL;
- }
-
- # quel type de membre ?
- switch ( $acces ) {
- case 1: return new membre ( $pseudo );
- case 2: return new moderateur ( $pseudo );
- case 3: return new administrateur ( $pseudo );
- }
-
- die;
- }
- ?>
<?php
#
# Auteur : Kassim Machioudi
# Email : yafuka [chez] yafuka.com
# Web : http://www.yafuka.com
#
interface IUser {
function estMembre ();
function estModerateur ();
function estAdmin ();
function __toString();
}
# les membres
class membre implements IUser {
private $pseudo;
public function __construct ( $nick ) {
$this->pseudo = $nick;
}
# un membre peut lire
public function estMembre () {
return true;
}
# un membre ne peut pas ecrire
public function estModerateur () {
return false;
}
# un membre ne peut pas supprimer
public function estAdmin () {
return false;
}
public function __toString () {
return "Membre";
}
}
# les moderateurs
class moderateur extends membre {
private $pseudo;
public function __construct ( $nick ) {
$this->pseudo = $nick;
}
# un moderateur peut ecrire
public function estModerateur () {
return true;
}
public function __toString () {
return "Modérateur";
}
}
# les administrateurs
class administrateur extends moderateur {
private $pseudo;
public function __construct ( $nick ) {
$this->pseudo = $nick;
}
# un moderateur peut ecrire
public function estAdmin () {
return true;
}
public function __toString () {
return "Administrateur";
}
}
function creerObjet ( $acces, $pseudo ) {
# tous les acces possibles
$table_acces = array(1 => "membre", 2 => "moderateur", 3 => "admin");
# on return null si l'acces n existe pas
if ( !array_key_exists ( $acces, $table_acces ) ) {
return NULL;
}
# quel type de membre ?
switch ( $acces ) {
case 1: return new membre ( $pseudo );
case 2: return new moderateur ( $pseudo );
case 3: return new administrateur ( $pseudo );
}
die;
}
?>