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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
abstract class CDomainObject
{
protected $__data = array('id' => false);
public function __construct() {}
}
abstract class CMapper implements IMapper
{
protected $bdd = NULL;
public function __construct(\PDO $bdd) {$this->bdd = $bdd;}
}
interface IMapper
{
public function Load(CDomainObject $obj);
public function Save(CDomainObject $obj);
public function Delete(CDomainObject $obj);
}
interface ICountry
{
public function GetID();
public function GetName();
public function GetCode();
public function SetName($name);
public function SetCode($code);
}
class MCountry extends CMapper
{
public function Load(CDomainObject $obj) {}
public function Save(CDomainObject $obj) {/*update l'enregistyrement en BDD si ID existe ou cree l'enregistrement si id existe pas*/}
public function Delete(CDomainObject $obj) {}
}
class CCountry extends CDomainObject implements ICountry
{
public function GetID() {return $this->__data['id'];}
public function GetName(){return $this->__data['name'];}
public function GetCode(){return $this->__data['int_code'];}
public function SetName($name){return $this->__data['name'] = $name;}
public function SetCode($code){return $this->__data['int_code'] = $code;}
}
interface IUser
{
public function GetID();
public function SetData($data);
public function GetFullName();
public function GetGender();
public function GetFirstName();
public function GetLastName();
public function GetMaidenName();
public function GetAddress();
public function GetZIP();
public function GetCity();
public function GetState();
public function GetCountry();
public function GetGSM();
public function GetTel();
public function SetGender($gender);
public function SetFirstName($first_name);
public function SetLastName($last_name);
public function SetMaidenName($maiden_name);
public function SetAddress($address);
public function SetZIP($zip);
public function SetCity($city);
public function SetState($state);
public function SetCountry(ICountry $country);
public function SetGSM($gsm);
public function SetTel($tel);
public function Save();
public function Delete();
}
class MUser extends CMapper
{
public function Load(CDomainObject $obj)
{
$pdoStatement = $bdd->prepare('select * from user where id_user = :id limit 1');
$pdoStatement->execute(array(':id' => $user->GetID()));
if($res = $pdoStatement->fetch())
{
if($res['country'])
{
$res['country'] = new CCountry();
$MCountry = new MCountry();
$res['country'] = $MCountry->Load($res['country']);
}
else
$res['country'] = NULL;
$user->SetData($res);
}
$pdoStatement->closeCursor();
}
public function Save(CDomainObject $obj) {}
public function Delete(CDomainObject $obj) {}
}
class CUser extends CDomainObject implements IUser
{
public function __construct() {}
public function SetData($data){ $this->__data = $data; }
public function GetID(){return $this->__data['id'];}
public function GetFullName(){}
public function GetGender(){}
public function GetFirstName(){}
public function GetLastName(){}
public function GetMaidenName(){}
public function GetAddress(){}
public function GetZIP(){}
public function GetCity(){}
public function GetState(){}
public function GetGSM(){}
public function GetTel(){}
public function GetCountry()
{
return $this->__data['country'];
}
public function SetGender($gender){}
public function SetFirstName($first_name){}
public function SetLastName($last_name){}
public function SetMaidenName($maiden_name){}
public function SetAddress($address){}
public function SetZIP($zip){}
public function SetCity($city){}
public function SetState($state){}
public function SetGSM($gsm){}
public function SetTel($tel){}
public function SetCountry(ICountry $country)
{
$this->__data['country'] = $country;
}
public function Save(){}
public function Delete(){}
} |
Partager