GAGA Template

XLetter

Beaucoup de if

Une technique moin embarrasante?

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Page : 1
greatman Posté le 07/01/2008 01:47 - #

Membre
1 message
Bonjour

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.

Merci d'avance
Greatman

gaga26 Posté le 07/01/2008 14:42 - #



741 messages
18 ans
Salut,

Je ne comprend pas vraiment la phrase "fichier de langue qui posède plus de 50 entrées avec beaucoup de type d'erreur".

Sinon pour les langues, moi je fais un fichier complet nommé langue.php (exemple: fr.php) et après il te suffit de faire un include dynamique.
include($lang.'.php');

Ze Thriller Posté le 08/01/2008 16:58 - #


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

Page : 1

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Retour au forum Balises, à la liste des forums, ou au haut de page