|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Bonjour à tous,
J'ai trouvé ce code et j'ai du mal a comprende ce que fais le dernier return Code :
Code :
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
||||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() ![]() |
Bonsoir,
tu as vu juste, ta reprise du code est exacte. Voilà le problème lorsque l'auteur ne tient aucun compte des bonnes pratiques en matière de codage et de présentation. Pour le relire c'est mariole. If faut toujours veiller à préserver la lisbilité du code source sinon bonjour le temps perdu. Avec la pratique, des bons réflexes s'installent et facilitent la vie. Au début, j'ai commencé par relire mon propre code 2 ou 3 jours après l'avoir pondu, histoire de voir si c'était compréhensible et surtout à quelle vitesse je récupérais la logique. Le temps passé à me maudire m'a poussé à insérer des commentaires, à nommer mes variables de manière explicite et à présenter soigneusement mon code. Voici le code présenté de manière lisible au premier coup d'oeil: Code :
Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||||
|
00
|
|
|
#3 | ||
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Salut, merci pour ta réponse,
Mais qu'es-ce le dernier retun true? Code :
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() |
Non du tout.
Si les étapes en ligne 4 se passent bien, le code passe à la ligne 8 puis en ligne 10 si la sauvegarde des paramètres se passe bien, on passe à la ligne 14 => on renvoie true.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#5 | ||
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Ben oui mais je ne comprends toujours pas,
si on passe à la ligne 14 par qu'a la ligne 10, tout ce passe bien, à quoi sert le return true Ceci revient au même, non? Code :
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
||
|
|
00
|
|
|
#6 |
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Ce code me parrait farfelu
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() |
Pour supprimer le dernier return false/true il suffit de faire :
J'ai pas voulu aller trop vite mais bon
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() ![]() |
Voilà comment je l'aurais présenté ce bout de code :
Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
|
|
#9 | ||
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Ben non, et ca me semble tellement basic.
Pourquoi pas faire ca alors. Code :
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() |
Parce que la fonction doit renvoyer un boolean.
Ta version ne renvoie rien c'est-à-dire null c'est-à-dire toujours false. Du coup la fonction appelante ne sait pas si ce bout de code s'est bien déroulé ou pas... En ne retournant rien, elle considerera toujours que ce bout de code s'est mal déroulé. N'oublies pas que la fonction appelante peut réorienter le traitement en fonction du résultat renvoyé par ce bout de code.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#11 |
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Ok super merci pour toutes tes explications
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
|
|
00
|
|
|
#12 | ||||||
|
Débutant
Inscription : mai 2005 Messages : 1 957 ![]() |
Re bonjour,
Je m'excuse pour mes questions de débutant, mais je me demande si je n'ai pas repris un code qui n'est pas propre. Et dans le doute de bien refaire ( et apprendre aussi) j'ai maimerais relancer quelques question différentes. J'ai ceci Code :
(en sachant que la fonction natorder existe) Mais pourquoi le gars mais un array($this,'natorder')? Seonde question J'ai ceci: Code :
Code :
Qu'es-ce que j'ai a gagner si je laissait mon freach avec le array()? Merci pour vos éclaircissement!
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout! |
||||||
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() ![]() |
Bonjour,
dans ce code : usort($this->tags, array($this, 'natorder')); la partie array($this, 'natorder'); correspond à un callback (fonction de rappel avec un contexte d'instance de classe): regardes ici Ensuite pour ceci foreach ((array) $this->attributes as $key => $list) le (array) correspond à un cast explicit en type tableau : regardes ici. Il est clair que si $attributes est typé en tableau, normalement cela est inutile. Mais dans son cas, la visibilité est public, donc il n'est pas aboslument certain que $attributes reste toujours un tableau. Pour s'en assurer, il faudrait réduire sa visibilité protected | private et lui rattacher un accesseur et/ou mutateur : Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com