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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  840  841  842  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°1929801
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 15:58:06  profilanswer
 

Reprise du message précédent :
 
Ça suffit de mixer le PascalCase et l'underscore_separated, on est pas en Ada [:masklinn:1]  


 [:beap]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le 07-10-2009 à 15:58:06  profilanswer
 

n°1929802
skeye
Posté le 07-10-2009 à 15:58:32  profilanswer
 


[:sadnoir], mais [:prosterne] quand même [:tinostar]


---------------
Can't buy what I want because it's free -
n°1929803
Dj YeLL
$question = $to_be || !$to_be;
Posté le 07-10-2009 à 16:00:24  profilanswer
 


 
Avant d'utiliser getimagesize tu t'assures que c'est une image :o


---------------
Gamertag: CoteBlack YeLL
n°1929804
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 16:00:33  profilanswer
 

Et j'vois pas le problème de mettre des exceptions partout, les exceptions c'est le bien :o

 

Ou alors faut passer la vitesse supérieure et mettre des conditions, mais c'est moins répandu comme idée :o

 

(à noter: le premier paragraphe du lien a Tord: les exceptions, c'est pas juste pour la gestion d'erreurs)


Message édité par masklinn le 07-10-2009 à 16:02:07

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929806
FlorentG
Posté le 07-10-2009 à 16:00:59  profilanswer
 

skeye a écrit :

Seulement là où se présentent des cas exceptionnels pas gérés. Genre quand tu essayes de connaitre le type d'image que peut être un fichier texte, quoi.[:dawak]


C'est justement un cas pas exceptionnel :o L'utilisateur peut se tromper par exemple lors de l'upload d'un fichier. Pas besoin de Try-Catcher une Exception pour ça. Si ma fonction retourne null, hop le formulaire affiche une belle erreur standard

n°1929807
skeye
Posté le 07-10-2009 à 16:01:22  profilanswer
 

Dj YeLL a écrit :

Avant d'utiliser getimagesize tu t'assures que c'est une image :o


Comme tu c'est bien t'auras vérifié deux fois.[:petrus75]


---------------
Can't buy what I want because it's free -
n°1929811
Dj YeLL
$question = $to_be || !$to_be;
Posté le 07-10-2009 à 16:03:21  profilanswer
 

 

FileInfo
http://us.php.net/manual/en/ref.fileinfo.php

 

Inclus depuis la 5.3, et sinon PECL

 

Edit : j'ai oublié de préciser que je l'utilise pour checker le (vrai) type mime du fichier


Message édité par Dj YeLL le 07-10-2009 à 16:06:13

---------------
Gamertag: CoteBlack YeLL
n°1929815
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 16:05:43  profilanswer
 

FlorentG a écrit :


C'est justement un cas pas exceptionnel :o L'utilisateur peut se tromper par exemple lors de l'upload d'un fichier. Pas besoin de Try-Catcher une Exception pour ça. Si ma fonction retourne null, hop le formulaire affiche une belle erreur standard


T'as raison tiens, avec une exception propre tu pourrais faire ça de manière générique au lieu d'avoir tes null dégeux :o
 
Tu check les magic bytes, c'est portable [:bien]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929817
skeye
Posté le 07-10-2009 à 16:06:44  profilanswer
 

FlorentG a écrit :


C'est justement un cas pas exceptionnel :o L'utilisateur peut se tromper par exemple lors de l'upload d'un fichier. Pas besoin de Try-Catcher une Exception pour ça.


[:lol wut]
Au lieu de try-catcher une exception du genre :
 

Code :
  1. try{
  2. $type = getImageType($img);
  3. }
  4. catch(CpasUneImageTonTrucException $e){
  5. die($e->getMessage());
  6. }


 
tu trouves que c'est plus lisible de faire
 

Code :
  1. if(($type = getImageType($img)) === null){
  2. die("CpasUneImageTonTruc" );
  3. }


 
[:autobot]


---------------
Can't buy what I want because it's free -
n°1929820
FlorentG
Posté le 07-10-2009 à 16:10:06  profilanswer
 

masklinn a écrit :

T'as raison tiens, avec une exception propre tu pourrais faire ça de manière générique au lieu d'avoir tes null dégeux :o


T'as raison, je devrais plutôt retourner false :jap:

skeye a écrit :


tu trouves que c'est plus lisible de faire
 

Code :
  1. if(($type = getImageType($img)) === null){
  2. die("CpasUneImageTonTruc" );
  3. }


 
[:autobot]


C'est pas un die d'abord :o C'est dans la fonction de validation, et ça set une erreur :o Pas besoin d'exception-try-catch
 

mood
Publicité
Posté le 07-10-2009 à 16:10:06  profilanswer
 

n°1929821
skeye
Posté le 07-10-2009 à 16:11:45  profilanswer
 

FlorentG a écrit :


C'est pas un die d'abord :o C'est dans la fonction de validation, et ça set une erreur :o Pas besoin d'exception-try-catch
 


 
die ou pas, l'exception restera plus lisible que la comparaison magique avec null dans le code appelant.:o


---------------
Can't buy what I want because it's free -
n°1929823
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 16:12:01  profilanswer
 

FlorentG a écrit :

C'est pas un die d'abord :o C'est dans la fonction de validation, et ça set une erreur :o Pas besoin d'exception-try-catch


Non mais le résultat est le même hein [:pingouino]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929826
FlorentG
Posté le 07-10-2009 à 16:14:17  profilanswer
 

skeye a écrit :

die ou pas, l'exception restera plus lisible que la comparaison magique avec null dans le code appelant.:o


C'est subjectif [:spamafote]
 
J'ai juste un :

Code :
  1. if(!MFW_Image::checkImage($file)) {
  2.  $this->setError(...);
  3. }


J'vois pas comment c'est pas lisible

n°1929829
skeye
Posté le 07-10-2009 à 16:17:29  profilanswer
 

FlorentG a écrit :


C'est subjectif [:spamafote]
 
J'ai juste un :

Code :
  1. if(!MFW_Image::checkImage($file)) {
  2.  $this->setError(...);
  3. }


J'vois pas comment c'est pas lisible


 
C'était pas checkImage tout à l'heure, c'était getImageType().[:petrus75]
Et là tout ce que tu sais c'est que ça marche pas, t'as aucune idée de comment ni pourquoi si tu vas pas voir dans le appelé...:o


---------------
Can't buy what I want because it's free -
n°1929830
skeye
Posté le 07-10-2009 à 16:18:29  profilanswer
 

D'ailleurs checkImage() si c'est pour vérifier que ton fichier est bien une image c'est un super mauvais nom amha.[:dawao]


---------------
Can't buy what I want because it's free -
n°1929832
FlorentG
Posté le 07-10-2009 à 16:20:57  profilanswer
 

skeye a écrit :

C'était pas checkImage tout à l'heure, c'était getImageType().[:petrus75]


En vrai c'est "verification." Mais j'évite de poster des noms de fonctions en français ici, ça fait dévier du sujet toujours :D
 

skeye a écrit :

Et là tout ce que tu sais c'est que ça marche pas, t'as aucune idée de comment ni pourquoi si tu vas pas voir dans le appelé...:o


Tout ce que je sais c'est que c'est pas un type d'image valide. Y'a pas besoin d'en savoir plus.
 

skeye a écrit :

D'ailleurs checkImage() si c'est pour vérifier que ton fichier est bien une image c'est un super mauvais nom amha.[:dawao]


Ouais j'vais changer ça. J'ai quelques vieilles API qui traînent avec des noms de fonctions nazes [:sadnoir]

n°1929834
skeye
Posté le 07-10-2009 à 16:23:21  profilanswer
 

FlorentG a écrit :


Tout ce que je sais c'est que c'est pas un type d'image valide. Y'a pas besoin d'en savoir plus.

 

Dans ce cas-là ta fonction c'est bool isImage($file), et effectivement pas besoin d'exception, mais ça n'a plus rien à voir avec ton exemple du départ.:o

Message cité 2 fois
Message édité par skeye le 07-10-2009 à 16:23:32

---------------
Can't buy what I want because it's free -
n°1929837
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 16:24:14  profilanswer
 

FlorentG a écrit :

Tout ce que je sais c'est que c'est pas un type d'image valide. Y'a pas besoin d'en savoir plus.


Bah si, ça pourrait être que le fichier n'existe même pas, c'est pas la même erreur que "image invalide" (PHP se comporte comment quand il n'y a plus d'espace disque à l'endroit où il tente d'uploader son fichier?)

skeye a écrit :


 
Dans ce cas-là ta fonction c'est bool isImage($file), et effectivement pas besoin d'exception, mais ça n'a plus rien à voir avec ton exemple du départ.:o


[:romf]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929840
FlorentG
Posté le 07-10-2009 à 16:28:10  profilanswer
 

skeye a écrit :

Dans ce cas-là ta fonction c'est bool isImage($file)


Ouais voilà :jap:
 

masklinn a écrit :

Bah si, ça pourrait être que le fichier n'existe même pas, c'est pas la même erreur que "image invalide" (PHP se comporte comment quand il n'y a plus d'espace disque à l'endroit où il tente d'uploader son fichier?)
 
[:romf]


Je checke si c'est une image valide uniquement si l'upload s'est bien passé évidemment :) Si y'a plus d'espace disque où si y'a une autre couille, PHP l'indique.

n°1929846
skeye
Posté le 07-10-2009 à 16:31:57  profilanswer
 

de toute manière tu ne fais que repousser le problème, c'est la fonction appelante qui va finir par balancer une CPasUneImageException du coup... :whistle:


---------------
Can't buy what I want because it's free -
n°1929854
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 16:34:53  profilanswer
 


http://www.strozzi.it/users/carlo/tw7/templates/en_US/nosql/images/NoSQL.jpg


Message édité par masklinn le 07-10-2009 à 16:36:22

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929855
skeye
Posté le 07-10-2009 à 16:34:59  profilanswer
 


 
[:oh shi-]


---------------
Can't buy what I want because it's free -
n°1929862
FlorentG
Posté le 07-10-2009 à 16:41:57  profilanswer
 

skeye a écrit :

de toute manière tu ne fais que repousser le problème, c'est la fonction appelante qui va finir par balancer une CPasUneImageException du coup... :whistle:


Nan :o Jamais d'Exceptions dans les fonctions de validation de l'input utilisateur.
 
Je garde les Exceptions pour les cas de fails massifs pas gérés. Une erreur de la part d'un utilisateur (tel qu'un fichier du pas bon type) n'est pas une exception, c'est au contraire un fait fréquent. Pareil pour les vérification de taille de fichier et dimensions de l'image, pas d'exception :)
 
Une Exception serait plutôt à utiliser si PHP reporte que le fichier a été uploadé, mais le fichier n'existe en fait pas -> là c'est gravissime, faut exceptionner.

n°1929864
skeye
Posté le 07-10-2009 à 16:43:21  profilanswer
 

FlorentG a écrit :


Nan :o Jamais d'Exceptions dans les fonctions de validation de l'input utilisateur.
 
Je garde les Exceptions pour les cas de fails massifs pas gérés. Une erreur de la part d'un utilisateur (tel qu'un fichier du pas bon type) n'est pas une exception, c'est au contraire un fait fréquent. Pareil pour les vérification de taille de fichier et dimensions de l'image, pas d'exception :)
 
Une Exception serait plutôt à utiliser si PHP reporte que le fichier a été uploadé, mais le fichier n'existe en fait pas -> là c'est gravissime, faut exceptionner.


Elle fait quoi la fonction appelante, dans ton exemple?:D


---------------
Can't buy what I want because it's free -
n°1929870
FlorentG
Posté le 07-10-2009 à 16:46:08  profilanswer
 

skeye a écrit :

Elle fait quoi la fonction appelante, dans ton exemple?:D


Laquelle ? Je suis perdu :D

n°1929871
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 16:47:32  profilanswer
 

skeye a écrit :


Elle fait quoi la fonction appelante, dans ton exemple?:D


Elle fout son bordel dans une structure d'erreur et balance le tout au template pour réafficher le formulaire avec des erreurs kivonbien, je pense :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929874
skeye
Posté le 07-10-2009 à 16:52:17  profilanswer
 

FlorentG a écrit :


Laquelle ? Je suis perdu :D

 

celle qui appelle ton faux isImage().:o

 
masklinn a écrit :


Elle fout son bordel dans une structure d'erreur et balance le tout au template pour réafficher le formulaire avec des erreurs kivonbien, je pense :o


j'imagine, oui...donc au lieu de balancer une exception en cas de problème il crée une structure qui décrit le problème afin qu'il puisse être traité à la prochaine étape...wait, j'ai une idée pour cette structure si tu veux FloG, tu pourrais appeler ça une eksepssion? [:dawak]

Message cité 2 fois
Message édité par skeye le 07-10-2009 à 16:53:26

---------------
Can't buy what I want because it's free -
n°1929875
FlorentG
Posté le 07-10-2009 à 16:54:44  profilanswer
 

skeye a écrit :

j'imagine, oui...donc au lieu de balancer une exception en cas de problème il crée une structure qui décrit le problème afin qu'il puisse être traité à la prochaine étape...wait, j'ia une idée pour cette structure si tu veux FloG, tu pourrais appeler ça une eksepssion? [:dawak]


Ouais mais y'a sûrement plusieurs erreurs dans le formulaire, j'vais pas écrire une Exception massive avec toutes les erreurs dedans ? [:pingouino]
 
Je récupère les données POST et la liste des uploads (FILES), je transmet au validateur. Si les données sont pas valides, réaffichage du formulaire avec la liste des erreurs construite par le validateur. Si données valides, traitement puis redirection vers la suite.

n°1929876
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 16:57:59  profilanswer
 

skeye a écrit :


j'imagine, oui...donc au lieu de balancer une exception en cas de problème il crée une structure qui décrit le problème afin qu'il puisse être traité à la prochaine étape...wait, j'ai une idée pour cette structure si tu veux FloG, tu pourrais appeler ça une eksepssion? [:dawak]


Ça c'est pas intelligent par contre, au niveau le plus haut ce qui l'intéresse c'est de pouvoir afficher les erreurs dans le formulaire, et il peut y en avoir blinde, donc mieux vaut toutes les collecter en une seul fois dans une structure mappant field => error, s'plus samrt :o

Message cité 2 fois
Message édité par masklinn le 07-10-2009 à 16:58:09

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929878
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 17:01:58  profilanswer
 

http://emacsformacosx.com/ [:ciler]
 
Toute la page est "écrite" en SVG [:ciler]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929882
theredled
● REC
Posté le 07-10-2009 à 17:06:18  profilanswer
 

skeye a écrit :


 
die ou pas, l'exception restera plus lisible que la comparaison magique avec null dans le code appelant.:o


 
D'autant que ça permet de définir un message d'erreur précis *dans* la fonction qui le découvre, plutôt qu'à chaque endroit où elle est appelée...


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1929883
skeye
Posté le 07-10-2009 à 17:06:25  profilanswer
 

FlorentG a écrit :


Ouais mais y'a sûrement plusieurs erreurs dans le formulaire, j'vais pas écrire une Exception massive avec toutes les erreurs dedans ? [:pingouino]
 
Je récupère les données POST et la liste des uploads (FILES), je transmet au validateur. Si les données sont pas valides, réaffichage du formulaire avec la liste des erreurs construite par le validateur. Si données valides, traitement puis redirection vers la suite.


...donc tu fais quelque part un truc de ce genre :
 

Code :
  1. if(($errors = MyFormValidator::checkData($input)) == null){
  2. $this->rePrintForm($errors);
  3. }
  4. else{
  5. $this->printSuccess($input);
  6. }


 
à la place tu pourrais faire
 

Code :
  1. try{
  2.   MyFormValidator::checkData($input));
  3.   $this->printSuccess($input);
  4. }
  5. catch(ValidationException $e){
  6.  $this->rePrintForm($e->getErrors());
  7. }


 
 
Rien ne t'empêche de mettre toutes tes erreurs dans une exception qui englobe tout si ça t'arrange...et ça reste plus lisible amha[:skeye]


---------------
Can't buy what I want because it's free -
n°1929885
FlorentG
Posté le 07-10-2009 à 17:07:48  profilanswer
 

masklinn a écrit :

Ça c'est pas intelligent par contre, au niveau le plus haut ce qui l'intéresse c'est de pouvoir afficher les erreurs dans le formulaire, et il peut y en avoir blinde, donc mieux vaut toutes les collecter en une seul fois dans une structure mappant field => error, s'plus samrt :o


Voilà [:romf] On y arrive. D'où l'extrême importance de bien évaluer dans quel contexte sera utilisée une fonction. Et les difficultés qui s'en suivent pour designer une API bien solide

n°1929886
skeye
Posté le 07-10-2009 à 17:08:01  profilanswer
 

masklinn a écrit :


Ça c'est pas intelligent par contre, au niveau le plus haut ce qui l'intéresse c'est de pouvoir afficher les erreurs dans le formulaire, et il peut y en avoir blinde, donc mieux vaut toutes les collecter en une seul fois dans une structure mappant field => error, s'plus samrt :o


Rien n'empêche de wrapper cette structure dans une Exception plus globale levée à la fin de la validation, le code sera toujours plus lisible.:o

Message cité 1 fois
Message édité par skeye le 07-10-2009 à 17:09:01

---------------
Can't buy what I want because it's free -
n°1929888
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 17:10:36  profilanswer
 

FlorentG a écrit :

D'où l'extrême importance de bien évaluer dans quel contexte sera utilisée une fonction. Et les difficultés qui s'en suivent pour designer une API bien solide


Oui mais non, ça change rien au problème que ton API soit bête :o

 

D'autant plus qu'avec des exceptions, tu pourrais génériciser ta validation: tu boucles sur tes fields, t'appelle les fonctions méthodes de validation kivonbien, tu récupères les exceptions via leur supertype (genre ValidationError) (warning: si PHP sait faire, c'est pas dit :o) et tu ajoutes le contenu de l'exception à ta structure d'erreur (l'exception sachant se formatter toute seule. Tu peux même directement stocker l'exception).

 

C'est simple, flexible et solide.

skeye a écrit :


Rien n'empêche de wrapper cette structure dans une Exception plus globale levée à la fin de la validation, le code sera toujours plus lisible.:o


S'pas très utile ça, c'est exceptionner pour le plaisir d'exceptionner :o

Message cité 3 fois
Message édité par masklinn le 07-10-2009 à 17:10:59

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929889
theredled
● REC
Posté le 07-10-2009 à 17:12:03  profilanswer
 

skeye a écrit :


Rien n'empêche de wrapper cette structure dans une Exception plus globale levée à la fin de la validation, le code sera toujours plus lisible.:o


C'est ce que fait Symfony, il catche les éventuelles exceptions validateur par validateur, et les fous dans une structure $errors...


Message édité par theredled le 07-10-2009 à 17:12:40

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1929891
skeye
Posté le 07-10-2009 à 17:16:07  profilanswer
 

masklinn a écrit :


S'pas très utile ça, c'est exceptionner pour le plaisir d'exceptionner :o


Question de lisibilité, c'est tout.:o
J'aime pas les return de valeurs magiques, 0/1/null etc. et tests qui vont avec...:o


---------------
Can't buy what I want because it's free -
n°1929893
FlorentG
Posté le 07-10-2009 à 17:17:31  profilanswer
 

Hmmm faut que j'écrive un wall of text là. J'y réfléchi et j'écris tout ça ce soir

n°1929895
theredled
● REC
Posté le 07-10-2009 à 17:21:32  profilanswer
 

masklinn a écrit :


S'pas très utile ça, c'est exceptionner pour le plaisir d'exceptionner :o


Code :
  1. try {
  2.  $validateur1->validate();
  3.  $validateur2->validate();
  4.  $validateur3->validate();
  5.  $validateur4->validate();
  6. }
  7. catch (Exception $e ) {
  8.  die('ya une erreur dans ton bordel');
  9. }


[:bien]

 

Je crois que j'en ai eu besoin une fois :o


Message édité par theredled le 07-10-2009 à 17:22:22

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  840  841  842  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)