par
Calimero » 05 mai 2008, 23:10
Mort de rire. Bien joué mais c'est toi qui a donné le code pas beau. Je te donne une chance de te rattraper!!
Pas trop d'accord là dessus. Certes, passer à une structure de type tableau associatif est un chouilla plus simple à faire évoluer, mais aussi un chouilla moins élégant
Le code fourni par AB est académique, facile à lire et 100% efficace. Et tant qu'on flirte avec la dizaine de pages il n'y a pas de problème d'évolution à prévoir.
L'idée était donc de remplacer ceci :
switch ($page) {
case "1" : include("codepage1.php"); break;
case "2" : include("codepage2.php"); break;
case "3" : include("codepage3.php"); break;
case "4" : include("codepage4.php"); break;
//etc..
default : include("codepage_index.php");
}
par ceci :
$page_fichier=array(
// On stocke les correspondances sous forme de paires clé => valeur
// Comme cela il est plus facile d'envisager de les stocker ailleurs
// si la liste s'allonge un peu trop : Base de données, fichier...
1 => 'codepage1.php',
2 => 'codepage2.php',
3 => 'codepage3.php',
4 => 'codepage4.php',
5 => 'codepage5.php',
// Et ainsi de suite...
'erreur' => 'erreur.php',
);
// On retrouve nos deux cas :
if(isset($page_fichier[$page])){
// Si la variable existe dans notre tableau
include($page_fichier[$page]);
} else {
// Sinon, on affiche une erreur
include($page_fichier['erreur']);
}
[quote="nicolas"]Mort de rire. Bien joué mais c'est toi qui a donné le code pas beau. Je te donne une chance de te rattraper!![/quote]
Pas trop d'accord là dessus. Certes, passer à une structure de type tableau associatif est un chouilla plus simple à faire évoluer, mais aussi un chouilla moins élégant ;-)
Le code fourni par AB est académique, facile à lire et 100% efficace. Et tant qu'on flirte avec la dizaine de pages il n'y a pas de problème d'évolution à prévoir.
L'idée était donc de remplacer ceci :
[php]switch ($page) {
case "1" : include("codepage1.php"); break;
case "2" : include("codepage2.php"); break;
case "3" : include("codepage3.php"); break;
case "4" : include("codepage4.php"); break;
//etc..
default : include("codepage_index.php");
}[/php]
par ceci :
[php]
$page_fichier=array(
// On stocke les correspondances sous forme de paires clé => valeur
// Comme cela il est plus facile d'envisager de les stocker ailleurs
// si la liste s'allonge un peu trop : Base de données, fichier...
1 => 'codepage1.php',
2 => 'codepage2.php',
3 => 'codepage3.php',
4 => 'codepage4.php',
5 => 'codepage5.php',
// Et ainsi de suite...
'erreur' => 'erreur.php',
);
// On retrouve nos deux cas :
if(isset($page_fichier[$page])){
// Si la variable existe dans notre tableau
include($page_fichier[$page]);
} else {
// Sinon, on affiche une erreur
include($page_fichier['erreur']);
}
[/php]