Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons)
existe-t-il plusieurs fonctions dans PHP qui permettent la vérification
de type (ctype_, is_, filter_) ?
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
Bruno Desthuilliers
Olivier Masson a écrit :
Bonjour,
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
Heu... Parce que PHP est fondamentalement un empilage de gros hacks cradingues et de fonctions ad-hoc, sans rien qui ressemble de près ou de loin à une réflexion préalable, une vue d'ensemble, un souci de cohérence, ou quelque autre éléments en rapport avec la notion de "design" ?-)
Bon, ok, je --->[]
PS : contrairement à ce que le troll^Mpost ci-dessus pourrait laisser croire, j'ai une certaine sympathie pour PHP... Malgré tout.
Olivier Masson a écrit :
Bonjour,
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons)
existe-t-il plusieurs fonctions dans PHP qui permettent la vérification
de type (ctype_, is_, filter_) ?
Heu... Parce que PHP est fondamentalement un empilage de gros hacks
cradingues et de fonctions ad-hoc, sans rien qui ressemble de près ou de
loin à une réflexion préalable, une vue d'ensemble, un souci de
cohérence, ou quelque autre éléments en rapport avec la notion de
"design" ?-)
Bon, ok, je --->[]
PS : contrairement à ce que le troll^Mpost ci-dessus pourrait laisser
croire, j'ai une certaine sympathie pour PHP... Malgré tout.
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
Heu... Parce que PHP est fondamentalement un empilage de gros hacks cradingues et de fonctions ad-hoc, sans rien qui ressemble de près ou de loin à une réflexion préalable, une vue d'ensemble, un souci de cohérence, ou quelque autre éléments en rapport avec la notion de "design" ?-)
Bon, ok, je --->[]
PS : contrairement à ce que le troll^Mpost ci-dessus pourrait laisser croire, j'ai une certaine sympathie pour PHP... Malgré tout.
CrazyCat
Bonjour,
Olivier Masson wrote:
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
La différence vient du principe de fonctionnement. Par exemple: * is_numeric() va vérifier que l'argument est bien numérique et acceptera 123, "0xFF" (hexadecimal), 0123 (octal), "+012.345e6", 3.14 * ctype_digit() va vérifier que tous les éléments de la chaine sont des chiffres, 123 sera accepté mais pas 3.14 * filter_var() (qui n'existe que depuis PHP 5.2), ainsi que son nom l'indique, permet d'appliquer un filtre sur la variable et son utilisation pour simplement tester un type me semble être une solution disproportionnée.
Notons d'ailleurs que filter_var() retourne soit la valeur filtrée soit false, alors que les deux autres fonctions retourne un booleen.
-- Réseau IRC Francophone: http://www.zeolia.net Aide et astuces : http://www.g33k-zone.org Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr
Bonjour,
Olivier Masson wrote:
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons)
existe-t-il plusieurs fonctions dans PHP qui permettent la vérification
de type (ctype_, is_, filter_) ?
La différence vient du principe de fonctionnement. Par exemple:
* is_numeric() va vérifier que l'argument est bien numérique et
acceptera 123, "0xFF" (hexadecimal), 0123 (octal), "+012.345e6", 3.14
* ctype_digit() va vérifier que tous les éléments de la chaine sont des
chiffres, 123 sera accepté mais pas 3.14
* filter_var() (qui n'existe que depuis PHP 5.2), ainsi que son nom
l'indique, permet d'appliquer un filtre sur la variable et son
utilisation pour simplement tester un type me semble être une solution
disproportionnée.
Notons d'ailleurs que filter_var() retourne soit la valeur filtrée soit
false, alors que les deux autres fonctions retourne un booleen.
--
Réseau IRC Francophone: http://www.zeolia.net
Aide et astuces : http://www.g33k-zone.org
Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
La différence vient du principe de fonctionnement. Par exemple: * is_numeric() va vérifier que l'argument est bien numérique et acceptera 123, "0xFF" (hexadecimal), 0123 (octal), "+012.345e6", 3.14 * ctype_digit() va vérifier que tous les éléments de la chaine sont des chiffres, 123 sera accepté mais pas 3.14 * filter_var() (qui n'existe que depuis PHP 5.2), ainsi que son nom l'indique, permet d'appliquer un filtre sur la variable et son utilisation pour simplement tester un type me semble être une solution disproportionnée.
Notons d'ailleurs que filter_var() retourne soit la valeur filtrée soit false, alors que les deux autres fonctions retourne un booleen.
-- Réseau IRC Francophone: http://www.zeolia.net Aide et astuces : http://www.g33k-zone.org Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr
Mickael Wolff
Olivier Masson a écrit :
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
Il n'ont pas le même but, et peuvent ne pas partager la même sémantique. Les fonctions is_int, is_string, is_scalar, etc sont relatives aux types natifs du langage.
ctype_ reprend les fonctions de la stdlib C (isdigit devient ctype_digit).
filter_ est un ensemble de fonctions dont le but est de permettre le filtrage des entrées (plutôt que leur simple validation).
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons)
existe-t-il plusieurs fonctions dans PHP qui permettent la vérification
de type (ctype_, is_, filter_) ?
Il n'ont pas le même but, et peuvent ne pas partager la même
sémantique. Les fonctions is_int, is_string, is_scalar, etc sont
relatives aux types natifs du langage.
ctype_ reprend les fonctions de la stdlib C (isdigit devient
ctype_digit).
filter_ est un ensemble de fonctions dont le but est de permettre le
filtrage des entrées (plutôt que leur simple validation).
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
Il n'ont pas le même but, et peuvent ne pas partager la même sémantique. Les fonctions is_int, is_string, is_scalar, etc sont relatives aux types natifs du langage.
ctype_ reprend les fonctions de la stdlib C (isdigit devient ctype_digit).
filter_ est un ensemble de fonctions dont le but est de permettre le filtrage des entrées (plutôt que leur simple validation).
Le 30/10/2009 13:38, Bruno Desthuilliers répondait à Olivier Masson :
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
Heu... Parce que PHP est fondamentalement un empilage de gros hacks [...]
C'est exactement ce que je pense. Pour être plus politiquement correct, je dirais que cela vient de tout l'historique de PHP, et qu'il n'est bien évidemment pas question de supprimer de vieilles fonctions parce qu'on en a des nouvelles.
Les fonctions ctype_ viennent directement de la libc : <http://pwet.fr/man/linux/conventions/posix/ctype_h>.
Les fonctions is_ viennent plutôt du fait que PHP est un langage à typage faible (nécessité de distinguer aussi bien le type de certaines variables que les transtypages possibles).
Quant aux fonctions filter_ elles sont plutôt orientées web, et plus généralement traitement de données provenant de l'extérieur.
PS : contrairement à ce que le troll^Mpost ci-dessus pourrait laisser croire, j'ai une certaine sympathie pour PHP... Malgré tout.
Moi aussi. Le bazar n'est pas forcément plus mauvais que la cathédrale...
Le 30/10/2009 13:38, Bruno Desthuilliers répondait à Olivier Masson :
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons)
existe-t-il plusieurs fonctions dans PHP qui permettent la vérification
de type (ctype_, is_, filter_) ?
Heu... Parce que PHP est fondamentalement un empilage de gros hacks
[...]
C'est exactement ce que je pense. Pour être plus politiquement correct,
je dirais que cela vient de tout l'historique de PHP, et qu'il n'est
bien évidemment pas question de supprimer de vieilles fonctions parce
qu'on en a des nouvelles.
Les fonctions ctype_ viennent directement de la libc :
<http://pwet.fr/man/linux/conventions/posix/ctype_h>.
Les fonctions is_ viennent plutôt du fait que PHP est un langage à
typage faible (nécessité de distinguer aussi bien le type de certaines
variables que les transtypages possibles).
Quant aux fonctions filter_ elles sont plutôt orientées web, et plus
généralement traitement de données provenant de l'extérieur.
PS : contrairement à ce que le troll^Mpost ci-dessus pourrait laisser
croire, j'ai une certaine sympathie pour PHP... Malgré tout.
Moi aussi. Le bazar n'est pas forcément plus mauvais que la cathédrale...
Le 30/10/2009 13:38, Bruno Desthuilliers répondait à Olivier Masson :
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
Heu... Parce que PHP est fondamentalement un empilage de gros hacks [...]
C'est exactement ce que je pense. Pour être plus politiquement correct, je dirais que cela vient de tout l'historique de PHP, et qu'il n'est bien évidemment pas question de supprimer de vieilles fonctions parce qu'on en a des nouvelles.
Les fonctions ctype_ viennent directement de la libc : <http://pwet.fr/man/linux/conventions/posix/ctype_h>.
Les fonctions is_ viennent plutôt du fait que PHP est un langage à typage faible (nécessité de distinguer aussi bien le type de certaines variables que les transtypages possibles).
Quant aux fonctions filter_ elles sont plutôt orientées web, et plus généralement traitement de données provenant de l'extérieur.
PS : contrairement à ce que le troll^Mpost ci-dessus pourrait laisser croire, j'ai une certaine sympathie pour PHP... Malgré tout.
Moi aussi. Le bazar n'est pas forcément plus mauvais que la cathédrale...
Olivier Masson
Mickael Wolff a écrit :
Olivier Masson a écrit :
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
Il n'ont pas le même but, et peuvent ne pas partager la même sémantique. Les fonctions is_int, is_string, is_scalar, etc sont relatives aux types natifs du langage.
ctype_ reprend les fonctions de la stdlib C (isdigit devient ctype_digit).
filter_ est un ensemble de fonctions dont le but est de permettre le filtrage des entrées (plutôt que leur simple validation).
Tiens c'est marrant, vous avez répondu en même temps par couple :) Merci pour vos opinions.
Mickael Wolff a écrit :
Olivier Masson a écrit :
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons)
existe-t-il plusieurs fonctions dans PHP qui permettent la
vérification de type (ctype_, is_, filter_) ?
Il n'ont pas le même but, et peuvent ne pas partager la même
sémantique. Les fonctions is_int, is_string, is_scalar, etc sont
relatives aux types natifs du langage.
ctype_ reprend les fonctions de la stdlib C (isdigit devient
ctype_digit).
filter_ est un ensemble de fonctions dont le but est de permettre le
filtrage des entrées (plutôt que leur simple validation).
Tiens c'est marrant, vous avez répondu en même temps par couple :)
Merci pour vos opinions.
Pourquoi (parce que j'imagine qu'il y a une ou plusieurs raisons) existe-t-il plusieurs fonctions dans PHP qui permettent la vérification de type (ctype_, is_, filter_) ?
Il n'ont pas le même but, et peuvent ne pas partager la même sémantique. Les fonctions is_int, is_string, is_scalar, etc sont relatives aux types natifs du langage.
ctype_ reprend les fonctions de la stdlib C (isdigit devient ctype_digit).
filter_ est un ensemble de fonctions dont le but est de permettre le filtrage des entrées (plutôt que leur simple validation).
Tiens c'est marrant, vous avez répondu en même temps par couple :) Merci pour vos opinions.