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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  996  997  998  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°2012121
koskoz
They see me trollin they hatin
Posté le 27-07-2010 à 13:55:01  profilanswer
 

Reprise du message précédent :

Code :
  1. public function save() {
  2.     if (Validate::isNull($this->id)) {
  3.         parent::save();
  4.  
  5.         $advertiserId = date('Ymd') . $this->id . '-' . self::ACTOR_ADVERTISER;
  6.         $prepare = $this->_db->prepare('UPDATE '.$this->_schema.'.'.$this->_name.'
  7.                                             SET advertiser_id = ?
  8.                                             WHERE '.$this->getTableName().'.'.$this->_primary.' = ?');
  9.         $this->bind(1, 'advertiser_id', $advertiserId, $prepare);
  10.         $this->bind(2, $this->_primary, $this->id, $prepare);
  11.         $prepare->execute();
  12.         $this->advertiser_id = $advertiserId;
  13.     } else {
  14.         parent::save();
  15.     }
  16. }


 
En gros, c'est le $this->advertiser_id qui change en fonction de la classe.


---------------
Twitter
mood
Publicité
Posté le 27-07-2010 à 13:55:01  profilanswer
 

n°2012125
flo850
moi je
Posté le 27-07-2010 à 13:56:23  profilanswer
 

le parent se charge de la sauvegarde, et la classe fille de son code spécifique

 

perso , je ne factoriserai pas plus que ce que tu as fait ( mais je ferai peut etre une fonction updateAdvertiserId() )

Message cité 1 fois
Message édité par flo850 le 27-07-2010 à 13:56:59
n°2012127
0x90
Posté le 27-07-2010 à 13:57:13  profilanswer
 

Euh, le parent::save(); en double il a une raison ?


Message édité par 0x90 le 27-07-2010 à 13:57:25

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°2012128
skeye
Posté le 27-07-2010 à 13:57:21  profilanswer
 

flo850 a écrit :

le parent se charge de la sauvegarde, et la classe fille de son code spécifique  
 
perso , je ne factoriserai pas plus que ce que tu as fait


 
ouais enfin si t'as exactement la même opération spécifique dans chaque classe fille il y a un soucis de conception à la base amha.[:petrus75]


---------------
Can't buy what I want because it's free -
n°2012130
skeye
Posté le 27-07-2010 à 13:57:56  profilanswer
 

koskoz a écrit :

Code :
  1. public function save() {
  2.     if (Validate::isNull($this->id)) {
  3.         parent::save();
  4.         [...]
  5.     } else {
  6.         parent::save();
  7.     }
  8. }



humm....wat?[:dawak]

 

[edit]

 

[:benou_grilled]


Message édité par skeye le 27-07-2010 à 13:58:21

---------------
Can't buy what I want because it's free -
n°2012134
flo850
moi je
Posté le 27-07-2010 à 13:58:45  profilanswer
 

ce 'est pas la même , si j'ai bien compris, a chaque fois il mets a jour un champ différent en base de données avec des valeurs spécifique

n°2012135
skeye
Posté le 27-07-2010 à 13:59:40  profilanswer
 

koskoz a écrit :


En gros, c'est le $this->advertiser_id qui change en fonction de la classe.


 
Genre il s'appelle majolieclasse_id partout?[:petrus dei]
Si oui, un simple "id" dans la classe mère et basta.:o


---------------
Can't buy what I want because it's free -
n°2012136
koskoz
They see me trollin they hatin
Posté le 27-07-2010 à 14:00:29  profilanswer
 

Eheh, j'étais sûr que vous alliez tiquer pour le parent::save() [:botman]
Je ne peux pas le faire avant la condition car le save s'occupe de setter l'id, donc il ne rentrera jamais dans la condition sinon.


---------------
Twitter
n°2012137
flo850
moi je
Posté le 27-07-2010 à 14:00:30  profilanswer
 

Code :
  1. $prepare = $this->_db->prepare('UPDATE '.$this->_schema.'.'.$this->_name.'
  2.                                            SET advertiser_id = ?
  3.                                            WHERE '.$this->getTableName().'.'.$this->_primary.' = ?');
  4.        $this->bind(1, 'advertiser_id', $advertiserId, $prepare);
  5.        $this->bind(2, $this->_primary, $this->id, $prepare);
  6.        $prepare->execute();
 

ça me semble bizarre
tu fasi this->_db->prepare  mais this->bind
tu ne peux pas avoir , dans une classe , deux requêtes en parallèle ?

Message cité 1 fois
Message édité par flo850 le 27-07-2010 à 14:00:42
n°2012138
koskoz
They see me trollin they hatin
Posté le 27-07-2010 à 14:00:57  profilanswer
 

skeye a écrit :


 
Genre il s'appelle majolieclasse_id partout?[:petrus dei]
Si oui, un simple "id" dans la classe mère et basta.:o


 
Non, car c'est un pseudo orm, donc $var == var en bdd.


---------------
Twitter
mood
Publicité
Posté le 27-07-2010 à 14:00:57  profilanswer
 

n°2012139
flo850
moi je
Posté le 27-07-2010 à 14:01:27  profilanswer
 

koskoz a écrit :

Eheh, j'étais sûr que vous alliez tiquer pour le parent::save() [:botman]
Je ne peux pas le faire avant la condition car le save s'occupe de setter l'id, donc il ne rentrera jamais dans la condition sinon.


Code :
  1. parent:save();
  2. if(validate...))
  3. {
  4.  //ton code spécifique
  5. }

n°2012140
koskoz
They see me trollin they hatin
Posté le 27-07-2010 à 14:01:39  profilanswer
 

flo850 a écrit :

Code :
  1. $prepare = $this->_db->prepare('UPDATE '.$this->_schema.'.'.$this->_name.'
  2.                                            SET advertiser_id = ?
  3.                                            WHERE '.$this->getTableName().'.'.$this->_primary.' = ?');
  4.        $this->bind(1, 'advertiser_id', $advertiserId, $prepare);
  5.        $this->bind(2, $this->_primary, $this->id, $prepare);
  6.        $prepare->execute();


 
ça me semble bizarre  
tu fasi this->_db->prepare  mais this->bind  
tu ne peux pas avoir , dans une classe , deux requêtes en parallèle ?


 
C'est un peu le merdier à ce niveau là, c'est pas de moi, j'y touche pas [:cosmoschtroumpf]


---------------
Twitter
n°2012141
koskoz
They see me trollin they hatin
Posté le 27-07-2010 à 14:02:13  profilanswer
 

flo850 a écrit :


Code :
  1. parent:save();
  2. if(validate...))
  3. {
  4.  //ton code spécifique
  5. }



 
Bah non, parce que l'id ne sera plus null vu que save va le setter.


---------------
Twitter
n°2012145
skeye
Posté le 27-07-2010 à 14:12:12  profilanswer
 

C'est un peu le merdier ton histoire...:o
Tu as donc le nom de la variable qui change (en tant que membre et dans la requête) et c'est tout?

 

Si oui, tu fais une fonction, implémentée dans toutes les filles uniquement, qui te retourne le nom de cette variable et c'est gagné, non?


Message édité par skeye le 27-07-2010 à 14:12:36

---------------
Can't buy what I want because it's free -
n°2012181
gatsu35
Blablaté par Harko
Posté le 27-07-2010 à 15:45:50  profilanswer
 

koskoz a écrit :

 

Bah non, parce que l'id ne sera plus null vu que save va le setter.


Mais t'es con ou t'es con ou alors tu es con ?

 

ton parent:save(), il est dans le if et dans le else,

 

et faire

Code :
  1. if(cond) {
  2.    parent:save();
  3.    // ton tas de code
  4. } else {
  5.    parent:save()
  6. }


c'est pareil que

Code :
  1. parent:save();
  2. if(cond) {
  3.    // ton tas de code
  4. }
 

Arrête l'informatique...

Message cité 3 fois
Message édité par gatsu35 le 27-07-2010 à 15:46:07

---------------
Blablaté par Harko
n°2012182
skeye
Posté le 27-07-2010 à 15:47:06  profilanswer
 

gatsu35 a écrit :


Mais t'es con ou t'es con ou alors tu es con ?
 
ton parent:save(), il est dans le if et dans le else,
 
et faire  

Code :
  1. if(cond) {
  2.    parent:save();
  3.    // ton tas de code
  4. } else {
  5.    parent:save()
  6. }


c'est pareil que  

Code :
  1. parent:save();
  2. if(cond) {
  3.    // ton tas de code
  4. }


 
Arrête l'informatique...


 
Relis avec le doigt. Après le save() la condition sera toujours fausse. D'où sa construction...inhabituelle.[:petrus75]


---------------
Can't buy what I want because it's free -
n°2012183
the real m​oins moins
Posté le 27-07-2010 à 15:48:18  profilanswer
 

skeye a écrit :


 
montre un bout de code, je suis pas sûr d'avoir saisi ce que tu veux dire, là.:D


lui non plus[:icon12]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2012184
koskoz
They see me trollin they hatin
Posté le 27-07-2010 à 15:48:41  profilanswer
 

gatsu35 a écrit :


Mais t'es con ou t'es con ou alors tu es con ?
 
ton parent:save(), il est dans le if et dans le else,
 
et faire  

Code :
  1. if(cond) {
  2.    parent:save();
  3.    // ton tas de code
  4. } else {
  5.    parent:save()
  6. }


c'est pareil que  

Code :
  1. parent:save();
  2. if(cond) {
  3.    // ton tas de code
  4. }


 
Arrête l'informatique...


 
Non, en fait c'est toi qui est con ou tu ne sais pas lire [:petrus75]


---------------
Twitter
n°2012192
masklinn
í dag viðrar vel til loftárása
Posté le 27-07-2010 à 16:01:12  profilanswer
 

gatsu35 a écrit :


Mais t'es con ou t'es con ou alors tu es con ?

 

ton parent:save(), il est dans le if et dans le else,

 

et faire

Code :
  1. if(cond) {
  2.    parent:save();
  3.    // ton tas de code
  4. } else {
  5.    parent:save()
  6. }


c'est pareil que

Code :
  1. parent:save();
  2. if(cond) {
  3.    // ton tas de code
  4. }
 

Arrête l'informatique...


Stoi arrête l'informatique gros mauvais :o PHP c'est pas haskell, parent:save() peut avoir des effets de bord, donc inverser l'ordre de 2 opérations consécutives n'est pas nécessairement anodin :o

 

En l'occurrence, ici, si parent:save set $this->Id — ce qui semble être le cas — ben t'as ton test qui sera plus jamais exécuté puisqu'il dépend de la nullité de $this->Id.

 

Donc le cas correct pour une extraction de parent:save serait

Code :
  1. $newObject = Validate::isNull($this->id);
  2. parent:save()
  3. if($newObject) {
  4.   ...
  5. }
 

Ou alors modifier la signature de save() pour qu'il renvoie true ou false selon qu'il crée un nouvel objet ou pas

Code :
  1. if(parent:save()) {
  2.   ...
  3. }


auquel cas je renommerais save() en createOrSave()

 

3e possibilité, save() prend un bloc pour une création et un bloc pour une édition:

Code :
  1. super.save(IfCreated: (() => /* stuff */))


mais c'est PHP alors...

Message cité 1 fois
Message édité par masklinn le 27-07-2010 à 16:01:27

---------------
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°2012199
gatsu35
Blablaté par Harko
Posté le 27-07-2010 à 16:17:01  profilanswer
 

masklinn a écrit :


Stoi arrête l'informatique gros mauvais :o PHP c'est pas haskell, parent:save() peut avoir des effets de bord, donc inverser l'ordre de 2 opérations consécutives n'est pas nécessairement anodin :o
 
En l'occurrence, ici, si parent:save set $this->Id — ce qui semble être le cas — ben t'as ton test qui sera plus jamais exécuté puisqu'il dépend de la nullité de $this->Id.
 
Donc le cas correct pour une extraction de parent:save serait

Code :
  1. $newObject = Validate::isNull($this->id);
  2. parent:save()
  3. if($newObject) {
  4.   ...
  5. }


 
Ou alors modifier la signature de save() pour qu'il renvoie true ou false selon qu'il crée un nouvel objet ou pas

Code :
  1. if(parent:save()) {
  2.   ...
  3. }


auquel cas je renommerais save() en createOrSave()
 
3e possibilité, save() prend un bloc pour une création et un bloc pour une édition:

Code :
  1. super.save(IfCreated: (() => /* stuff */))


mais c'est PHP alors...


J'avais pas vu qu'il faisait des traitements dans son if, c'est tout aussi illisible :o


---------------
Blablaté par Harko
n°2012200
flo850
moi je
Posté le 27-07-2010 à 16:17:29  profilanswer
 

gatsu35 a écrit :


J'avais pas vu qu'il faisait des traitements dans son if, c'est tout aussi illisible :o


non plus

n°2012205
masklinn
í dag viðrar vel til loftárása
Posté le 27-07-2010 à 16:30:24  profilanswer
 

gatsu35 a écrit :


J'avais pas vu qu'il faisait des traitements dans son if, c'est tout aussi illisible :o


GatsuG [:spdm:5]


Message édité par masklinn le 27-07-2010 à 16:30:35

---------------
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°2012215
Shinuza
This is unexecpected
Posté le 27-07-2010 à 16:42:26  profilanswer
 

phosphoreloaded a écrit :

Vous êtes sous OS X ??

Non.

Dj YeLL a écrit :

Y'a-t-il un moyen de detecter le mouseover sur img ?

Non. La bonne solution c'est celle que 0x90 suggère (la seconde), tu mémorises les coordonées de tes images en mémoire, et ensuite tu fais un test de collision sur la position de ton curseur.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2012218
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 27-07-2010 à 16:44:34  profilanswer
 

gatsu35 a écrit :


J'avais pas vu qu'il faisait des traitements dans son if, c'est tout aussi illisible :o


Vaut mieux tout bien lire avant d'insulter les gens [:doc petrus]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2012253
0x90
Posté le 27-07-2010 à 19:38:54  profilanswer
 

the real moins moins a écrit :

http://diveintohtml5.org/canvas.html#pixel-madness

Citation :

Imagine each pixel as a large square. The whole-number coordinates (0, 1, 2…) are the edges of the squares


mais whhyy [:pingouino dei]

 

Parce que si les coordonnées correspondaient au centre des pixels, alors quand tu fais un fill (d'un rectangle avec coordonnées entières), les bords du rectangle seraient flous. Il faut choisir entre avoir les stroke et les fill de flou, ils ont préféré les stroke [:spamafote] (C'est aussi le cas dans cairo (du coup postscript aussi probablement), opengl et qt.

 

Si _vraiment_ tu préfères avoir tes coordonnées au centre, tu translate au tout début de (0.5, 0.5) et wala.


Message édité par 0x90 le 27-07-2010 à 19:42:25

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°2012275
the real m​oins moins
Posté le 27-07-2010 à 21:11:35  profilanswer
 

alors là, ça sent l'explication intelligente et pleine de sens, mais je comprend pas [:pingouino] (.. pourquoi les bords du rectangles seraient flous .. )


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2012280
masklinn
í dag viðrar vel til loftárása
Posté le 27-07-2010 à 21:59:31  profilanswer
 

the real moins moins a écrit :

alors là, ça sent l'explication intelligente et pleine de sens, mais je comprend pas [:pingouino] (.. pourquoi les bords du rectangles seraient flous .. )


Bah pasqu'ils vont de bord à bord, et là le bord se retrouve en plein milieu d'un pixel, donc un average est fait et tu te retrouves avec le bord de ton rectangle à 50% d'alpha (donc flou) je présume.


---------------
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°2012282
koskoz
They see me trollin they hatin
Posté le 27-07-2010 à 22:14:38  profilanswer
 
n°2012288
nraynaud
lol
Posté le 27-07-2010 à 22:36:54  profilanswer
 

the real moins moins a écrit :

alors là, ça sent l'explication intelligente et pleine de sens, mais je comprend pas [:pingouino] (.. pourquoi les bords du rectangles seraient flous .. )


En fait on est dans le monde du vectoriel, pas du bitmap, c'est fini les rectangles 0,0 -> 10, 10
 
imagine comment il trace une ligne de pixels : il va parcourir un chemin (la génératrice) avec un pinceau. il va mettre le milieu du pinceau sur la génératrice (par défaut, je crois qu'il y a une feinte pour le décaler, pour faire des ombres portées par exemple).
 
donc si tu mets la génératrice sur une frontière entre 2 pixels, la peinture va aller sur les 2 pixels à droite et à gauche de la génératrice. Si tu mets la génératrice au milieu d'un pixel et que tu as un pinceau d'un pixel de large, la peinture va rester sur une ligne de pixels.


---------------
trainoo.com, c'est fini
n°2012290
koskoz
They see me trollin they hatin
Posté le 27-07-2010 à 22:41:33  profilanswer
 

Explication claire, merci :jap:


---------------
Twitter
n°2012304
Shinuza
This is unexecpected
Posté le 28-07-2010 à 06:14:01  profilanswer
 

Première fois que je vois l'embed html5 en action [:bien]


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2012308
skeye
Posté le 28-07-2010 à 07:38:09  profilanswer
 


[:atsuko]


---------------
Can't buy what I want because it's free -
n°2012385
uriel
blood pt.2
Posté le 28-07-2010 à 11:16:42  profilanswer
 

transform: rotate(10deg);
 
 A new evil is born [:ciler]


---------------
IVG en france
n°2012392
nraynaud
lol
Posté le 28-07-2010 à 11:23:49  profilanswer
 

uriel a écrit :

transform: rotate(10deg);
 
 A new evil is born [:ciler]


ça va vite faire oublier le <blink> remarque  [:manzana verde]


---------------
trainoo.com, c'est fini
n°2012393
skeye
Posté le 28-07-2010 à 11:24:56  profilanswer
 

nraynaud a écrit :


ça va vite faire oublier le <blink> remarque  [:manzana verde]


Hier j'ia découvert qu'un site récent de chez nous utilise encore <marquee> [:ciler]


---------------
Can't buy what I want because it's free -
n°2012417
0x90
Posté le 28-07-2010 à 12:49:47  profilanswer
 

the real moins moins a écrit :

alors là, ça sent l'explication intelligente et pleine de sens, mais je comprend pas [:pingouino] (.. pourquoi les bords du rectangles seraient flous .. )


 
Voilà le coin d'un rectangle de coordonnées (0, 0) → (10, 10), dans un repère où (0,0) corresponds au centre du pixel.
http://imgur.com/K5KqF.png
En noir le rectangle vectoriel, en vert celui rasterisé.
L'antialiasing calcule pour chaque pixel le pourcentage de surface couverte, du coup pour les bords le pixel est couvert à 50% par le rectangle vectoriel, et pour les coin à seulement 25%. Et voilà, t'as un remplissage de rectangle flou :/

Message cité 1 fois
Message édité par 0x90 le 28-07-2010 à 12:50:16

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°2012483
the real m​oins moins
Posté le 28-07-2010 à 14:37:58  profilanswer
 

nraynaud a écrit :


En fait on est dans le monde du vectoriel, pas du bitmap, c'est fini les rectangles 0,0 -> 10, 10
 
imagine comment il trace une ligne de pixels : il va parcourir un chemin (la génératrice) avec un pinceau. il va mettre le milieu du pinceau sur la génératrice (par défaut, je crois qu'il y a une feinte pour le décaler, pour faire des ombres portées par exemple).
 
donc si tu mets la génératrice sur une frontière entre 2 pixels, la peinture va aller sur les 2 pixels à droite et à gauche de la génératrice. Si tu mets la génératrice au milieu d'un pixel et que tu as un pinceau d'un pixel de large, la peinture va rester sur une ligne de pixels.


[:romf]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2012484
the real m​oins moins
Posté le 28-07-2010 à 14:40:03  profilanswer
 

0x90 a écrit :


 
Voilà le coin d'un rectangle de coordonnées (0, 0) → (10, 10), dans un repère où (0,0) corresponds au centre du pixel.
http://imgur.com/K5KqF.png
En noir le rectangle vectoriel, en vert celui rasterisé.
L'antialiasing calcule pour chaque pixel le pourcentage de surface couverte, du coup pour les bords le pixel est couvert à 50% par le rectangle vectoriel, et pour les coin à seulement 25%. Et voilà, t'as un remplissage de rectangle flou :/


[:romf]
moi chuis encore dans le monde de l'ATARI 520STE (appeau à Harko) du coup ça m'échappe un peu. Bon je comprend le principe, maintenant, mais je pige pas pourquoi on a un repère en *pixels* si c'est pour faire du vectoriel, antialiasing, et fineauder sur un bord-ou-centre de pixels. L'unité ne semble pas adaptée.. :O


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2012486
thomase
Posté le 28-07-2010 à 14:50:59  profilanswer
 


Cool ça tuera flash, mais je suis inquiet de ce que les webdesigners vont nous pondre comme interface de remplacement. Y'a plein de sites que je ne consulte que par mon aggrégateur rss tellement ils font mal aux yeux ou font ramer la machine (flash, gif anim, js, etc).
 
Les sites minimalistes et légers sont encore ceux que je préfère et de loin.

n°2012487
the real m​oins moins
Posté le 28-07-2010 à 14:57:25  profilanswer
 

Y'a du monde qui bosse dans un environnement Java ici, ou bien ?
(si oui j'ai des questions :O)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  996  997  998  ..  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)