1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
class Utilisateur
{
//variables locales
var $uti_id;
var $uti_nom;
var $uti_pass;
var $uti_mail;
var $uti_droi;
//constructeur
function __construct($id, $nom, $pass, $mail, $droi){
$this->uti_id=$id;
$this->uti_nom=$nom;
$this->uti_pass=$pass;
$this->uti_mail=$mail;
$this->uti_droi=$droi;
si::getInstance()->new_utilisateur($this);
}
}
class Droit
{
//variables locales
var $droi_id;
var $droi_lib;
//constructeur
function __construct($id, $lib){
$this->droi_id=$id;
$this->droi_lib=$lib;
si::getInstance()->new_droit($this);
}
}
class SI
{
private $droits;
private $utilisateurs;
private static $instance = null;
function __construct() {
$this->droits = array();
$this->utilisateurs = array();
}
public function getInstance()
{
if (self::$instance === null)
{
// on crée le singleton
self::$instance = new SI();
}
return self::$instance;
}
function new_utilisateur($uti){
$this->utilisateurs[$uti->uti_id] = $uti;}
function new_droit($droi){
$this->droits[$droi->droi_id] = $droi;}
function montrer_droit(){
foreach($this->droits as $droit)
{
echo $droit->droi_id;
}
}
}
$si = new SI;
$droi=new Droit(1, "admin");
$droi=new Droit(2,"consult");
$uti=new Utilisateur(1,"albert","alb","albert@...",2);
$uti=new Utilisateur(2,"didier","did","didier@...",1);
$si->montrer_droit(); |
Partager