J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto)
{
case $toto = "titi":
// blablabla
case $toto = "tata":
// bliblibli
}
alors que dans la doc PHP, ça serait plutot
switch($toto)
{
case "titi":
// blablabla
case "tata":
// bliblibli
}
La première syntaxe passe sur un PHP 4.3.
Mais sur un 5.2 par défaut de chez Debian, ça ne passe plus, il faut passer
à la deuxième syntaxe.
Comme je sais que de temps en temps, il y a des options de
retro-compatibilité qui sont permises, sauriez-vous si il y en a une qui
ferait qu'on puisse passer ce système en 5.2 tout en remettant la
réécriture du code à légèrement plus tard?
En gros, le système sur lequel je travaille actuellement est un ensemble de
fichiers PHP de quelques milliers de lignes et une trentaine de "case"
chacun. Il faut le réécrire, je sais. Mais il faut d'autres choses aussi.
Merci.
--
"Beaucoup de gens achètent des choses dont ils n'ont pas besoin
avec de l'argent qu'il n'ont pas (crédits & emprunts)
pour impressionner des gens qu'ils n'aiment pas."
Inconnu
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto) { case $toto = "titi": // blablabla case $toto = "tata": // bliblibli }
Hein ??? Ça a existé, ça ?!? C'est vieux ou c'est juste un bug ?
Même dans la doc de PHP/FI 2.0 il n'y a pas cette syntaxe : http://www.php.net/manual/phpfi2.php#switch
alors que dans la doc PHP, ça serait plutot
switch($toto) { case "titi": // blablabla case "tata": // bliblibli }
Ben oui. Et en Java, en C++ ou en C on a exactement la même chose (si ce n'est que les valeurs ne peuvent pas être des chaînes de caractères).
La première syntaxe passe sur un PHP 4.3.
Tu es sûr de ça ?
Essaye le code suivant :
$toto = "GABUZOMEU"; switch($toto) { case $toto = "titi": // blablabla case $toto = "tata": // bliblibli } echo $toto;
Est-ce que ça affiche bien GABUZOMEU, ou alors plutôt titi ou tata ?
Comme je sais que de temps en temps, il y a des options de retro-compatibilité qui sont permises, sauriez-vous si il y en a une qui ferait qu'on puisse passer ce système en 5.2 tout en remettant la réécriture du code à légèrement plus tard?
Il faudrait déjà savoir avec quelle version c'est censé être rétro- compatible, si cela a jamais existé. Personnellement je doute.
En gros, le système sur lequel je travaille actuellement est un ensemble de fichiers PHP de quelques milliers de lignes et une trentaine de "case" chacun. Il faut le réécrire, je sais. Mais il faut d'autres choses aussi.
Peut-être un truc comme ce qui suit ? s/(^[ ^I]*case[ ^I][ ^I]*$[^=]*)=[^:]*:/1:/ (les ^I sont des tabulations)
J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto)
{
case $toto = "titi":
// blablabla
case $toto = "tata":
// bliblibli
}
Hein ??? Ça a existé, ça ?!? C'est vieux ou c'est juste un bug ?
Même dans la doc de PHP/FI 2.0 il n'y a pas cette syntaxe :
http://www.php.net/manual/phpfi2.php#switch
alors que dans la doc PHP, ça serait plutot
switch($toto)
{
case "titi":
// blablabla
case "tata":
// bliblibli
}
Ben oui. Et en Java, en C++ ou en C on a exactement la même chose (si ce
n'est que les valeurs ne peuvent pas être des chaînes de caractères).
La première syntaxe passe sur un PHP 4.3.
Tu es sûr de ça ?
Essaye le code suivant :
$toto = "GABUZOMEU";
switch($toto)
{
case $toto = "titi":
// blablabla
case $toto = "tata":
// bliblibli
}
echo $toto;
Est-ce que ça affiche bien GABUZOMEU, ou alors plutôt titi ou tata ?
Comme je sais que de temps en temps, il y a des options de
retro-compatibilité qui sont permises, sauriez-vous si il y en a une qui
ferait qu'on puisse passer ce système en 5.2 tout en remettant la
réécriture du code à légèrement plus tard?
Il faudrait déjà savoir avec quelle version c'est censé être rétro-
compatible, si cela a jamais existé. Personnellement je doute.
En gros, le système sur lequel je travaille actuellement est un ensemble de
fichiers PHP de quelques milliers de lignes et une trentaine de "case"
chacun. Il faut le réécrire, je sais. Mais il faut d'autres choses aussi.
Peut-être un truc comme ce qui suit ?
s/(^[ ^I]*case[ ^I][ ^I]*$[^=]*)=[^:]*:/1:/
(les ^I sont des tabulations)
J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto) { case $toto = "titi": // blablabla case $toto = "tata": // bliblibli }
Hein ??? Ça a existé, ça ?!? C'est vieux ou c'est juste un bug ?
Même dans la doc de PHP/FI 2.0 il n'y a pas cette syntaxe : http://www.php.net/manual/phpfi2.php#switch
alors que dans la doc PHP, ça serait plutot
switch($toto) { case "titi": // blablabla case "tata": // bliblibli }
Ben oui. Et en Java, en C++ ou en C on a exactement la même chose (si ce n'est que les valeurs ne peuvent pas être des chaînes de caractères).
La première syntaxe passe sur un PHP 4.3.
Tu es sûr de ça ?
Essaye le code suivant :
$toto = "GABUZOMEU"; switch($toto) { case $toto = "titi": // blablabla case $toto = "tata": // bliblibli } echo $toto;
Est-ce que ça affiche bien GABUZOMEU, ou alors plutôt titi ou tata ?
Comme je sais que de temps en temps, il y a des options de retro-compatibilité qui sont permises, sauriez-vous si il y en a une qui ferait qu'on puisse passer ce système en 5.2 tout en remettant la réécriture du code à légèrement plus tard?
Il faudrait déjà savoir avec quelle version c'est censé être rétro- compatible, si cela a jamais existé. Personnellement je doute.
En gros, le système sur lequel je travaille actuellement est un ensemble de fichiers PHP de quelques milliers de lignes et une trentaine de "case" chacun. Il faut le réécrire, je sais. Mais il faut d'autres choses aussi.
Peut-être un truc comme ce qui suit ? s/(^[ ^I]*case[ ^I][ ^I]*$[^=]*)=[^:]*:/1:/ (les ^I sont des tabulations)
slambert
case $toto = "titi":
à transformer en
case "titi":
Ca sent pas l'expression régulière a plein nez, ca ?
Une ligne commencant par "case" avec "$machin =" dedans , remplacer le "$machin =" par rien, quelque soit "machin".
Stef
case $toto = "titi":
à transformer en
case "titi":
Ca sent pas l'expression régulière a plein nez, ca ?
Une ligne commencant par "case" avec "$machin =" dedans , remplacer le
"$machin =" par rien, quelque soit "machin".
Ca sent pas l'expression régulière a plein nez, ca ?
Une ligne commencant par "case" avec "$machin =" dedans , remplacer le "$machin =" par rien, quelque soit "machin".
Stef
Gromitt
Bonjour,
Aloha,
J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto) { case $toto = "titi": // blablabla case $toto = "tata": // bliblibli }
La "bonne" "vieille" syntaxe serait sans doute plutot celle-ci :
switch (TRUE) { case ($toto === "titi"): // blablabla case ($toto === "tata"): // bliblibli }
Mais dans ce cas-ci, l'utilisation "normale" du switch est a recommander inconditionnellement :
switch ((string) $toto) // le typage est important si tu ne // veux pas qu'un scalaire // (0 par exemple) puisse satisfaire // le premier "case" de type string. { case "titi": // ... case "tata": // ... }
La "vieille" syntaxe est a utiliser dans des cas tres particuliers (et encore... autant mettre des if...else).
Bonjour,
Aloha,
J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto)
{
case $toto = "titi":
// blablabla
case $toto = "tata":
// bliblibli
}
La "bonne" "vieille" syntaxe serait sans doute plutot celle-ci :
switch (TRUE)
{
case ($toto === "titi"):
// blablabla
case ($toto === "tata"):
// bliblibli
}
Mais dans ce cas-ci, l'utilisation "normale" du switch est a
recommander inconditionnellement :
switch ((string) $toto) // le typage est important si tu ne
// veux pas qu'un scalaire
// (0 par exemple) puisse satisfaire
// le premier "case" de type string.
{
case "titi":
// ...
case "tata":
// ...
}
La "vieille" syntaxe est a utiliser dans des cas tres particuliers (et
encore... autant mettre des if...else).
J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto) { case $toto = "titi": // blablabla case $toto = "tata": // bliblibli }
La "bonne" "vieille" syntaxe serait sans doute plutot celle-ci :
switch (TRUE) { case ($toto === "titi"): // blablabla case ($toto === "tata"): // bliblibli }
Mais dans ce cas-ci, l'utilisation "normale" du switch est a recommander inconditionnellement :
switch ((string) $toto) // le typage est important si tu ne // veux pas qu'un scalaire // (0 par exemple) puisse satisfaire // le premier "case" de type string. { case "titi": // ... case "tata": // ... }
La "vieille" syntaxe est a utiliser dans des cas tres particuliers (et encore... autant mettre des if...else).
Olivier Miakinen
Peut-être un truc comme ce qui suit ? s/(^[ ^I]*case[ ^I][ ^I]*$[^=]*)=[^:]*:/1:/ (les ^I sont des tabulations)
Je me suis planté dans mon expression, mais je t'ai aussi répondu dans fr.comp.os.unix.
Peut-être un truc comme ce qui suit ?
s/(^[ ^I]*case[ ^I][ ^I]*$[^=]*)=[^:]*:/1:/
(les ^I sont des tabulations)
Je me suis planté dans mon expression, mais je t'ai aussi répondu dans
fr.comp.os.unix.
Peut-être un truc comme ce qui suit ? s/(^[ ^I]*case[ ^I][ ^I]*$[^=]*)=[^:]*:/1:/ (les ^I sont des tabulations)
Je me suis planté dans mon expression, mais je t'ai aussi répondu dans fr.comp.os.unix.
Michel Billaud
"Mihamina Rakotomandimby (R12y)" writes:
Bonjour,
J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto) { case $toto = "titi": // blablabla case $toto = "tata": // bliblibli }
un coup de sed, ou de perl, pour nettoyer le terrain, genre
perl -pi -e /case .*=/case / *.php
?
MB -- Michel BILLAUD LABRI-Université Bordeaux I tel 05 4000 6922 / 05 5684 5792 351, cours de la Libération http://www.labri.fr/~billaud 33405 Talence (FRANCE)
J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto)
{
case $toto = "titi":
// blablabla
case $toto = "tata":
// bliblibli
}
un coup de sed, ou de perl, pour nettoyer le terrain, genre
perl -pi -e /case .*=/case / *.php
?
MB
--
Michel BILLAUD billaud@labri.fr
LABRI-Université Bordeaux I tel 05 4000 6922 / 05 5684 5792
351, cours de la Libération http://www.labri.fr/~billaud
33405 Talence (FRANCE)
J'ai un système avec une syntaxe the switch/case assez "vieille":
switch($toto) { case $toto = "titi": // blablabla case $toto = "tata": // bliblibli }
un coup de sed, ou de perl, pour nettoyer le terrain, genre
perl -pi -e /case .*=/case / *.php
?
MB -- Michel BILLAUD LABRI-Université Bordeaux I tel 05 4000 6922 / 05 5684 5792 351, cours de la Libération http://www.labri.fr/~billaud 33405 Talence (FRANCE)