Espace membre avec plusieurs sortes d'utilisateurs

Description

Oui, encore un diront certain. ;)
J'ai quand même vérifié avant de poster ma source et je n'ai rien trouvé de semblable. il s'agit d'un ensemble de classe permettant de gérer les droits dans un espace membre. L'objectiif est surtout de présenter le modèle objet de PHP5. Dans le zip se trouve un exemple d'utilisation de cette classe pour réaliser l'espace membre.
Avec cette classe on peut facilement ajouter de nouveaux types d'utilisateurs.

Source / Exemple :


<?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;		
	}
?>

Conclusion :


Version 5.0 de PHP nécessaire

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.