
Membre
105 messages
24 ans |
Citation Je posède un fichier de langue qui posède plus de 50 entrées avec beaucoup de type d'erreur. Alors, je voudrait savoir si il y a une technique plus rapide que de faire juste des if et des elseif.
Oui, quelque chose comme ça:
// Page PHP
class frm
{
function __construct ()
{
if ($_POST != array())
{
$this-> form_treat();
}
else
{
$this-> form_disp();
}
}
function form_disp ($message_erreur= '', $classe_erreur= null)
{
// Diverses assignations pour l'affichage du formulaire, blabla et tout...
// En cas d'erreur:
$tpl-> assign(array(
'mess_err' => $message_erreur,
'classe_msg_err' => $classe_erreur
));
$tpl-> parse('monformulaire.tpl');
die(); // Très important, ça.
}
function form_treat ()
{
// Divers instructions de contrôle du formulaire: utilisateur loggé, requêtes SQL, etc...
// Exemple de déclenchement d'erreur:
if ($oups_erreur)
{
$this-> form_disp('Oups, une erreur !', 'refused');
}
// etc...
}
}
// Appel du formulaire
new frm ();
<!-- Template correspondant (partiel) -->
{if($mess_err != '')}
<div style="text-align: center;"><span class="{$classe_msg_err}">{$msg_err}</span></div>
{/if}
<!-- Affichage ici du formulaire -->
<!-- Etc... -->
Voilà, 1 SEUL if à faire !
Pratique non ? ^^
PS: pour PHP4, remplacer simplement __construct() par frm() .
Prog orientée objet forever. Edité par Ze Thriller le 08/01/2008 16:58
|