Inclure en une seule ligne

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


sff
WRInaute impliqué
WRInaute impliqué
 
Messages: 289
Inscription: Mer Fév 02, 2005 23:04

Inclure en une seule ligne

Message le Dim Oct 08, 2006 12:26

Bonjours, pour inclure des pages en fonction de certaines conditions tel que if ($_GET["page"] == "verify") j'utilise le code suivant:

Mais peut t'on faire en sorte de faire la meme chose avec quelmque chose de plus court? Si je dois indiquer 100 includes avec les conditions dans la meme page ca risque de faire beaucoup. je précise que dans la condition si if ($_GET["page"] == "verify") la fonction sera du meme nom que le "est égal" donc verify()
Code: Tout sélectionner
  if ($loginOK == false) {
   
   if(isset($_GET['page'])){
    if ($_GET["page"] == "verify") {include('users.php'); verify(); }
     if ($_GET["page"] == "inscription") {include('login.php'); inscription($controlrow);}
     if ($_GET["page"] == "changer_pw") {include('login.php'); changer_pw();}
      if ($_GET["page"] == "verification") {include('login.php'); verification($controlrow);}
       if ($_GET["page"] == "pw_oublie") {include('login.php'); pw_oublie($controlrow);}
         if ($_GET["page"] == "objets_armes") {include('login.php'); objets_armes();}

    }else{
   principal_login($controlrow);
   }
}
[/dico]


rog
WRInaute accro
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Dim Oct 08, 2006 12:46

pour moi c'est très bien comme ça, si tu variabilise pour effectuer une iteration faudra filtrer correctement

la c'est imprenable

rog


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 5173
Inscription: Mer Nov 23, 2005 10:38

...

Message le Dim Oct 08, 2006 12:48

... j'aurais peut être davantage fait un switch pour tester tous les cas possibles, ce qui évite de retester a chaque fois le contenu de la variable $_GET['page'].


Suede
WRInaute accro
WRInaute accro
 
Messages: 3721
Inscription: Ven Oct 04, 2002 11:22

Re: ...

Message le Dim Oct 08, 2006 12:58

UsagiYojimbo a écrit:... j'aurais peut être davantage fait un switch pour tester tous les cas possibles, ce qui évite de retester a chaque fois le contenu de la variable $_GET['page'].


Sans oublier un break;


dorian53
WRInaute accro
WRInaute accro
 
Messages: 1901
Inscription: Dim Avr 10, 2005 16:56

Re: ...

Message le Dim Oct 08, 2006 13:02

UsagiYojimbo a écrit:... j'aurais peut être davantage fait un switch pour tester tous les cas possibles, ce qui évite de retester a chaque fois le contenu de la variable $_GET['page'].


+1 c'est fait pour


rog
WRInaute accro
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Dim Oct 08, 2006 13:07

pourquoi, tu crois que "case quelque chose" c'est pas un test ?

c'est une question de goût le switch c'est bien aussi

pour la suite de if tu pourrais remplacer par des elseif

rog


sff
WRInaute impliqué
WRInaute impliqué
 
Messages: 289
Inscription: Mer Fév 02, 2005 23:04

Message le Dim Oct 08, 2006 13:16

pour le switsh c'est comme ceci:

Code: Tout sélectionner
  switch ($_GET['page']){
{
case 'inscription' : include('login.php'); inscription($controlrow);
break;
case 'changer_pw' : include('login.php'); changer_pw();
break;
case 'verification' : include('login.php'); verification($controlrow);
break;
case 'pw_oublie' : include('login.php'); pw_oublie($controlrow);
break;
case 'changer_pw' : include('login.php'); changer_pw($controlrow);
break;
default:
include('accueil.php'); principal_login($controlrow);
}
}


Suede
WRInaute accro
WRInaute accro
 
Messages: 3721
Inscription: Ven Oct 04, 2002 11:22

Message le Dim Oct 08, 2006 13:22

rog a écrit:pourquoi, tu crois que "case quelque chose" c'est pas un test ?

c'est une question de goût le switch c'est bien aussi

pour la suite de if tu pourrais remplacer par des elseif

rog

Si tu fais un

Code: Tout sélectionner
if
if
if
if
etc

Le test est effectué à chaque fois.

Si tu fais
Code: Tout sélectionner
Switch
  case
     ...
      break;
  case
     ...
      break;
  case
     ...
      break;
  default
     ...
     


Le test est arreté quand on a la correspondance. Si tu classes tes cases en mettant les cas les plus appelés en premier, tu gagnes du temps.


Code: Tout sélectionner
if
elseif
elseif


est une autre solution. A priori aucune différence de temps.
Switch a l'avantage de la lisibilité et de permettre l'utilisation de "continue"


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Test data centers Google
    Cet outil vous permet d'afficher sur une seule page les résultats Google effectués sur de nombreux data centers (centres de données).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités