Page de setup : portail cms my-gestion

4/5 (2 avis)

Vue 5 324 fois - Téléchargée 585 fois

Description

C'est un système sous forme de classe permettant de créer facilement un setup avec validation et multiples étapes.

Pour ce projet, il traite du setup d'un portail existant - le portail en question est celui-ci :

http://www.phpcs.com/code.aspx?ID=48285
(éventuellement le webmaster intégrera mon script dans la distribution de sa source).

Cette source à un but pédagogique montrant les avantages de créer deux couches et séparer les fonctions en les attribuant aux classes correspondantes.

Regardes install.class.php / il y a une notion de contrat de plugin avec la classe abstraite step.

Bonne prog et à+,
Akh

Source / Exemple :


Exemple d'une partie du setup :

<?php	
	require_once('install.class.php');
	
	/**

  • Etape de présentation
  • /
class step1 extends step { public $title = 'Informations'; public function doPost() { return true; } public function getIHM() { return ' <div class="info"> Bienvenue sur l\'installation de My-Gestion : </div> <h1>Informations</h1> <iframe src="installation.txt"></ifram.... '; } } .... // SETTING STEPS setup::getInstance()->addStep(new step1()); setup::getInstance()->addStep(new step2()); setup::getInstance()->addStep(new step3()); ?>

Conclusion :


- Design HTML / CSS pouvant être refait
- Gestion en session des formulaires validés
- Auto Suppression du script a la fin du setup / supprimant ainsi une potentielle faille de sécurité.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
aKheNathOn Messages postés 276 Date d'inscription dimanche 22 juillet 2001 Statut Modérateur Dernière intervention 5 décembre 2013
7 févr. 2009 à 13:44
Salut malalam,

Ca fait plaisir de te revoir, ça fessait un bail effectivement. Tu as raison concernant le template d'autant plus qu'un simple include au moment du toString aurait suffit pour mettre le design dans un fichier a part (je dis ca car php est un moteur de template quelque part).

Concernant la SPL pour être franc je ne l'utilise pas car j'ai pas vraiment eu l'occasion (et l'envie) d'y jeter un coup d'oeuil.

Concernant l'intérêt du projet c'est de proposer un helper d'aide à la création d'interfaces de setup. Le point d'entrée et les classes de définition (dans le même fichier index.php dans cet exemple), histoire d'organiser et orienter. Là encore il faudrait éventuellement mieux partager code / contrôleur et vues - mais le principe de base y est.

Merci pour la note et bon retour parmi nous :)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 févr. 2009 à 19:11
Hello Akhe,

ça fait un bail que je suis pas passé..et désolé de t'avoir laissé tombé sur ton projet, mais j'ai du mal à gérer mon taf et phpcs depuis quelques mois...:-(

J'ai pas complètement compris l'intérêt de ta classe pour être franc, mais c'est sans doute parce que je suis un pur dév, et pas un webmaster :-) Je suppose qu'un webmaster y verra un intérêt certain.
Par contre, comme toujours, elle est très bien codée!
Les remarques quand même :
Perso, j'aurais sorti le html dans un template très simple. Ce n'est pas indispensable puisque que là, le html fait partie intégrante de l'applicatif (j'ai pas compris dis-je...mais bon, en fait je mens à moitié, j'ai bien saisi ce que tu y faisais, dans ta classe :-)). Mais c'est juste une question d'élégance (je le fais aussi ceci dit hein), c'est plus lisible sans un gros html en heredoc ou autre en plein milieu d'une classe.
Ton code aurait gagné à utiliser un itérateur pour gérer tes "steps". Après tout, tu as juste réécrit des méthodes prévues par l'interface Iterator. On n'y gagne que de la normalisation avec PHP mais bon, c'est déjà pas mal :-) Avec un itérateur à ta sauce évidemment, parce que c'est un peu plus complexe qu'un bête itérateur des familles, ton truc.

Bref...très bien :-)

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.