Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
917 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  blabla@php | faq et bonnes pratiques page 1

 



Pour ou contre du changement sur le topic ?


 
35.7 %
 5 votes
1.  Oui, faq / bonnes pratiques + blabla@php
 
 
0.0 %
        0 vote
2.  Oui, blabla@php uniquement
 
 
7.1 %
 1 vote
3.  Ce topic mérite la poubelle. Pauvre poubelle
 
 
21.4 %
 3 votes
4.  Non, ce topic reste tel quel
 
 
35.7 %
 5 votes
5.  Obiwan n'aime pas le php
 

Total : 16 votes (2 votes blancs)
Ce sondage est clos, vous ne pouvez plus voter
 Mot :   Pseudo :  
  Aller à la page :
 
Bas de page
Auteur Sujet :

blabla@php | faq et bonnes pratiques page 1

n°1604766
dwogsi
Défaillance cérébrale...
Posté le 27-08-2007 à 22:48:09  profilanswer
 
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.


Personellement, je ne suis pas trop fan non plus de glob. Maintenant je suis d'accord pour la conseiller à un débutant qui veut pas apprendre le php et se faire un "directory listing" en trois clic!


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
mood
Publicité
Posté le 27-08-2007 à 22:48:09  profilanswer
 

n°1604780
sielfried
Posté le 27-08-2007 à 23:28:14  profilanswer
 
Voir ce message dans le sujet non filtré
 

Bouchon2 a écrit :


Je suis globalement d'accord avec toi, mais comme dans la majorité des cas un fichier n'a besoin d'être inclus qu'une seule fois, le _once est préférable par défaut ; sur SquirrelMail par exemple on a pu constater une baisse du temps de chargement de la configuration (de 30ms exactement sur les 250ms au total) en passant de include à include_once ; les résultats sont encore plus probants quand on utilise un accélérateur comme Zend, du fait que le script est inclus de manière statique dans le bytecode.


 
Ce que je voulais dire, c'est que si le once ne "fait pas de mal", l'utilisation de la version la plus restrictive quand on le peut permet de s'éviter des erreurs un peut bébêtes (qui seraient masquées dans le cas contraire). J'ai déjà vu des développeurs qui mettaient des require_once un peu partout n'importe comment, histoire d'être "sûr que c'est bien inclus" ; ça leur aurait probablement rendu service de ne connaître que require et de réfléchir un peu plus à l'"arborescence" de leurs fichiers.
 

Citation :

empty($_GET['test']); peut provoquer une notice si test n'est pas définie dans la requête GET


 
Normalement non vu qu'un empty revient a priori à un isset($val) && $val != NULL/0/"0"/etc. J'ai déjà fait des tests empty sur des variables non définies sans soucis, en tout cas, maintenant je l'utilise trop rarement pour savoir s'il est buggé ou s'il a des cas particuliers.


Message édité par sielfried le 27-08-2007 à 23:29:14

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1604785
leflos5
On est ou on est pas :)
Posté le 27-08-2007 à 23:41:38  profilanswer
 
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 :whistle:
 
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 :D )
 
Donc le mauvais exemple de dire utilisez isset() au lieu de empty() est vereux :o 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.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  blabla@php | faq et bonnes pratiques page 1

 

Sujets relatifs
Problème pour une mise en page sous forme de tableauAfficher sur une page web directement le resultat d'une autre page web
[PHP] Fonction include plus rapide qu'un bout de code dans la page ?Ouvrir un fichier HTML en fin de page
[Résolu] Expirer la cache au niveau de la pageexecuter une page php sans rien afficher
inserer dans ma page wikiControler le changement de page
Certificat SSL a valider pour chaque élément de pageinstallé un mdp sur une page web avec Namo
Plus de sujets relatifs à : blabla@php | faq et bonnes pratiques page 1


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR