Pour ou contre du changement sur le topic ?1. Oui, faq / bonnes pratiques + blabla@php
2. Oui, blabla@php uniquement
3. Ce topic mérite la poubelle. Pauvre poubelle
4. Non, ce topic reste tel quel
5. Obiwan n'aime pas le php
Total : 16 votes (2 votes blancs)
leflos5 On est ou on est pas :) | Voir ce message dans le sujet non filtré Bouchon2 a écrit :
Dans la pratique, opendir pose trop de problèmes, en particulier trop de personnes demandent comment supprimer . et .. ; un autre avantage de glob est qu'il retourne des noms de fichiers avec chemin relatifs, donc prêts pour être utilisés avec d'autres fonctions sur les fichiers alors qu'avec opendir le chemin relatif doit être rajouté avant d'utiliser les noms de fichiers dans les fonctions ultérieures ce qui rend le code moins clair.
|
Bouchon2 a écrit :
Citation :
Jamais eu d'E_NOTICE avec empty(), tu dois confondre.
|
empty($_GET['test']); peut provoquer une notice si test n'est pas définie dans la requête GET, ça peut arriver par exemple dans un formulaire avec des checkbox qui ne sont pas définies dans la requete si elles ne sont pas cochées. De manière générale, pour un formulaire, il vaut mieux vérifier que tout est bien défini avec un isset en série (du type isset($_GET['name'], $_GET['firstname'], ...) et ensuite vérifier si certaines sont vides.
En y réfléchissant bien, il est possible que ce soit un E_STRICT qui soit provoqué dans les versions récentes, il en avait été question sur la mailing list de PHP.
|
Je souhaiterais retourner le compliment sur la lecture de doc à ceux qui tenteraient de l'étoffer
empty retourne un booléen et point, il envoit rien d'autre pas même un semblant d'erreur puisque c'est son boulot de te dire si quelque chose est vide (donc défini sinon c'est que c'est vide de toutes manières puisque ça existe pas )
Donc le mauvais exemple de dire utilisez isset() au lieu de empty() est vereux C'est tout le contraire, empty() fait un isset + un test sur le contenu, donc pour savoir si quelque chose est défini et/ou vide c'est empty(), pas besoin de se poser de question et le test est exhaustif.
|