J'ai commencé par faire brièvement 2 classes pour la gestion du contenu de mon site.
Voici mes classes
<?php
abstract class Membre {
/**
* Déclarations des membres de la table
**/
private $_pseudo;
private $_pass;
private $_xp;
private $_signature;
private $_nom;
private $_prenom;
private $_age;
private $_ville;
private $_departement;
private $_presentation;
private $_rang;
private $_validation;
private $_banni;
private $_mail;
private $_avatar;
private $_f_sujet_page;
private $_f_msg_page;
private $_mp_msg_page;
private $_mp_mail;
private $_afficher_signature;
private $_afficher_msg_cache;
/**
* Déclaration des membres gérant l'administration
**/
private _canWriteNews = FALSE;
private _accessAdmin = FALSE;
private _posterCom = TRUE;
private _noter = TRUE;
/**
* __construct qui hydrate les membres de la classe.
**/
public function __construct($array) {
foreach ($array as $key => $value) {
$key2 = explode('_',$key);
if (property_exists(get_class(), '_'.$key2[1])) {
$this->_$key2[1] = $value;
} else {
echo '_'.$key2[1]. 'n\'existe pas.'
}
}
}
/**
* Getters Admins
**/
public function getCanWriteNews() {
return $this->_canWriteNews;
}
public function getAccessAdmin() {
return $this->_accessAdmin;
}
public function getPosterCom() {
return $this->_posterCom;
}
public function getNoter() {
return $this->_noter;
}
/**
* Getters membres
**/
public function getPseudo() {
return $this->_pseudo;
}
public function getXp() {
return $this->_xp;
}
public function getSignature() {
return $this->_signature;
}
public function getNom() {
return $this->_nom;
}
public function getPrenom() {
return $this->_prenom;
}
public function getAge() {
return $this->_age;
}
public function getVille() {
return $this->_ville;
}
public function getDepartement() {
return $this->_departement;
}
public function getPresentation() {
return $this->_presentation;
}
public function getRang() {
return $this->_rang;
}
public function getValidation() {
return $this->_validation;
}
public function getBanni() {
return $this->_banni;
}
public function getMail() {
return $this->_mail;
}
public function getAvatar() {
return $this->_avatar;
}
public function getFSujetPage() {
return $this->_f_sujet_page;
}
public function getFMsgPage() {
return $this->_f_msg_page;
}
public function getMpmsgPage() {
return $this->_mp_msg_page;
}
public function getMpMail() {
return $this->_mp_mail;
}
public function getAfficherSignature() {
return $this->_afficher_signature;
}
public function getAfficherCache() {
return $this->_afficher_cache;
}
//SET
public function setPseudo($Pseudo) {
$this->_pseudo=$Pseudo;
}
public function setXp($Xp) {
$this->_xp=$Xp;
}
public function setSignature($Signature) {
$this->_signature=$Signature;
}
public function setNom($Nom) {
$this->_nom=$Nom;
}
public function setPrenom($Prenom) {
$this->_prenom=$Prenom;
}
public function setAge($Age) {
$this->_age=$Age;
}
public function setVille($Ville) {
$this->_ville=$Ville;
}
public function setDepartement($Departement) {
$this->_departement=$Departement;
}
public function setPresentation($Presentation) {
$this->_presentation=$Presentation;
}
public function setRang($Rang) {
$this->_rang=$Rang;
}
public function setValidation($Validation) {
$this->_validation=$Validation;
}
public function setBanni($Banni) {
$this->_banni=$Banni;
}
public function setMail($Mail) {
$this->_mail=$Mail;
}
public function setAvatar($Avatar) {
$this->_avatar=$Avatar;
}
public function setFSujetPage($FSujetPage) {
$this->_f_sujet_page=$FSujetPage;
}
public function setFMsgPage($FMsgPage) {
$this->_f_msg_page=$FMsgPage;
}
public function setMpMsgPage($MpMsgPage) {
$this->_mp_msg_page=$MpMsgPage;
}
public function setMpMail($MpMail) {
$this->_mp_mail=$MpMail;
}
public function setAfficherSignature($AfficherSignature) {
$this->_afficher_signature=$AfficherSignature;
}
public function setAfficherMsgCache($AfficherMsgCache) {
$this->_afficher_msg_cache=$AfficherMsgCache;
}
}
?>
et une classe dérivée
<?php
include 'Membre.php';
class MembreSimple extends Membre {
public function __construct() {
parent::__construct($array);
}
/**
* Poster un commentaire
**/
public function posterCom() {
if($this->getPosterCom()) {
//On poste un new com...
}
}
}
?>
Quels sont vos avis?merci !!