Zend Framework (ZF) : un livre d’or, première étapes : définition

Créations d’un livre d’or en 6 étapes

  1. Définition
  2. Créations des tables sql et des répertoires
  3. Bases des fichiers
  4. Affichages et ajout de messages
  5. Modification et suppression des messages
  6. Conclusions

Définition des besoins

Pour faire un livre d’or très basique :

  • Ajout de message
  • Affichage de messages
  • Modération : modification et suppression des messages

Par après on peux ajouter différents éléments :

  • Smileys
  • Site-web et email des auteurs
  • Et des trucs plus fun : cache, css, …

Création de répertoire automatique, en php, via une structure txt

Nombres de tutoriaux de programmation présente la structure des différents répertoires sous la forme d’unt exte de cette forme : /home /admin /index /ajouter /delete /news /id /totor

C’est souvent assez embettant de recréer chaque répertoire alors qu’un simple script suffit ….

Voici ce script

<?php   $tab = '    ';   $shema = <<<UYJY /home /admin /index     /ajouter     /delete     /news         /id     /totor UYJY;   $shema = str_replace("
 ", " ", $shema); $shemas = explode(" ", $shema);   $curdir = array(); $curdir[0] = dirname(__FILE__) . '/rep'; mkdir($curdir[0], 0777); $lastNiv = 0;   foreach ($shemas as $line) { 	//profondeur du rep 	$Niv = substr_count($line, $tab) + 1;   	//nom rep 	$rep = substr($line, ($Niv-1) * strlen($tab));   	if ($Niv < $lastNiv) 	{ 		//répertoire supérieur 		//delete des chemin inférieur 		for ($i = $Niv + 1; $i <= count($curdir); $i++) 		{ 			unset($curdir[$i]); 		} 	}   	//save du niveau + chemin 	$lastNiv = $Niv; 	$curdir[ $Niv ] = $curdir[ $Niv - 1 ] . $rep;   	//création rep 	if (mkdir($curdir[ $Niv ], 0777)) 		echo 'Répertoire (' . $curdir[ $Niv ] . ') créé!<br />' . " "; 	else 		echo 'Répertoire (' . $curdir[ $Niv ] . ') <strong>n\'a pas</strong> être créé!<br />' . " "; }
  • $curdir[0] : Le répertoire de base où sont créer les répertoires,
  • $shema : Le schéma à suivre pour créer les répertoires.
  • $tab : L’espace pour un répertoire (tabulation, 4 espaces, … (doit-être régulier!)

Zend Framework, simple?

Cela fait longtemps que je zyeut Zend Framework, sans pour autant plonger, aujourd’hui j’ai gouter, apprécier, dévorer, bref l’applaudit.

En gros, c’est le framework comme je le voix ou presque!

Simple, claire, extensible, gestion d’exception, sans des dépendance inutiles, passant par pdo, …

I like

D’ailleurs je pense que MyWsp se basera dessus, je delete les 3/4 de ce que j’ai fait et hop je repart, simplement parceque c’est vraiment pratique et rapide!

Bientôt, je sortirait certainement quelques tuto sur Zend Framework!

MyWsp : du nouveau?

Comme certains m’ont posée la question, j’y réponds.

Oui MyWsp avance, lentement mais surement.

La dernière nouveauté visible est le logo (temporaire à définitif), visible sur le site officiel et logo2 .

Cependant ce n’est aps tout, j’ai définit presque entièrement ce que j’appelle le package de base, c’est-à-dire, un truc que l’on ne sais pas utilisé tout seul, mais indispensable au fonctionnement de tout le reste! En gros le package de base comprendra :

  • RSS
  • outils de sécurités tel : antispam, antiflood, …
  • système de session basic
  • mail simple
  • système de cache
  • gestion de base de données
  • bbcode, html et autre système d’écriture (avec possibilité de plugins pour oa7code, textile, wiki, wikini, wiki+, …)
  • peut-être un système de tpl mais je verrais à la longue!
  • système d’erreur très simple donc sans log
  • upload simple
  • quelques surfonction, genre date avec strftime, et d’autres truc utiles …
  • système de gestion des modules
  • Administration

Avec cela les modules principaux verront rapidement le jour. Cependant, le gros point noir reste la gestion des modules (qui n’est pas programmer du tout, le reste est surtout une question de retouche). En effet, j’ignore encore comment je vais faire fonctionner le tout de manière optimale, que se soit pour un ou 250 modules…

Pour les questions, les idées n’hésité pas à répondre en commentaires ou à me contacter!