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

 


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 :
 
 Page :   1  2  3  4  5  ..  22  23  24  ..  66  67  68  69  70  71
Auteur Sujet :

blabla@php | faq et bonnes pratiques page 1

n°1925811
flo850
moi je
Posté le 22-09-2009 à 14:11:37  profilanswer
 

Reprise du message précédent :

theredled a écrit :


Je voulais juste tester à quel point APC pouvait accélerer le bordel... Visiblement, zéro.
 
Et accessoirement je vois pas à quoi sert un outil de mesure si ce n'est à optimiser :o


un outil de mesure cherche a mesurer ce qu'il faut optimiser  
là tu as mis  apc et les outils de mesure sans regarder ce qui limite , qu'est ce que tu attendais comme résultats ?  
 

Dj YeLL a écrit :

Tiens en parlant d'APC. Perso j'utilise un système que j'ai dev à base de file_get/put_contents ... y'a un intérêt particulier à tout basculer sur APC ?


si tu charge souvent des petits fichiers qui bougent peu, oui  
mais il va falloir en dire plus et tester pour être sur


---------------

mood
Publicité
Posté le 22-09-2009 à 14:11:37  profilanswer
 

n°1925861
Dj YeLL
$question = $to_be || !$to_be;
Posté le 22-09-2009 à 15:56:35  profilanswer
 

skeye a écrit :


Un système de ...?:D

 

Barbecue électronique spécial viande de bœuf :o

 
flo850 a écrit :


si tu charge souvent des petits fichiers qui bougent peu, oui
mais il va falloir en dire plus et tester pour être sur

 

Pour le moment j'utilise peu de cache. Là c'est principalement pour le traitement des fichiers de config du framework (config simplifiée côté user, mais qui subit un traitement pour devenir "compatible" avec le FW).

 

C'est pas un traitement très lourd, mais tant qu'à faire, autant mettre la config générée en cache, plutôt que de la retraiter à chaque fois.

 

Mais ça peut aussi être une portion d'une page qui utilise pas mal de données d'une BDD, mais qui bougent rarement ... là aussi je peux mettre la portion en cache par exemple.


Message édité par Dj YeLL le 22-09-2009 à 15:56:52

---------------
Gamertag: CoteBlack YeLL
n°1925871
flo850
moi je
Posté le 22-09-2009 à 16:13:52  profilanswer
 

perso , je mets en cache au niveau des classes d'accès aux données


---------------

n°1925884
Dj YeLL
$question = $to_be || !$to_be;
Posté le 22-09-2009 à 16:29:49  profilanswer
 

Hum.
 
Moi j'ai ça côté contrôleur (en imaginant que c'est pour une liste de produits) :
 

Code :
  1. if(!yCache()->isValid('product_list'))
  2. {
  3.    // récupérer les données
  4.    // les traiter
  5.    // et les envoyer à la vue
  6. }


 
Et côté vue :
 

Code :
  1. <?php while(yCache()->start('product_list')) : ?>
  2.    <!-- Affichage de la liste des articles dans une table etc. -->
  3. <?php enwhile; ?>


 
En gros, le système de "while" permet de vérifier si le cache existe et est encore valide.
 
Si oui il l'affiche et retourne false (donc le contenu n'est pas re-généré).
 
S'il est invalide (TTL dépassé) ou n'existe pas, ça lance un ob_start() et retourne true, le contenu est donc généré et le start() va être exécuté une deuxième fois.
 
Lors de la deuxième exécution, on lance un ob_get_flush(); on enregistre tout ça, et on retourne false.
 
Après c'est peut-être pas le meilleur truc qui existe :whistle: Mais j'aime bien :o


---------------
Gamertag: CoteBlack YeLL
n°1927947
theredled
● REC
Posté le 30-09-2009 à 14:43:18  profilanswer
 


Hé les experts,
 
Ya eu un changement dans le comportement de l'overloading entre php 5.2.3 et 5.2.8 ?
 
J'ai

Code :
  1. class A
  2. {
  3.  public function __call($m, $args)
  4.  {
  5.     var_dump($m);
  6.  }
  7. }
  8.  
  9. class B extends A
  10. {
  11.  public function test()
  12.  {
  13.    parent::doThis();
  14.  }
  15. }
  16.  
  17. $b = new B();
  18. $b->test();


Le __call() du parent n'est pas appelé en 5.2.3, alors qu'il l'est en 5.2.8.
 
Vous avez entendu parler de ça ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1927950
skeye
Posté le 30-09-2009 à 14:49:15  profilanswer
 

figure 1 : __call() et ses potes, c'est de la merde en barre.[:doc petrus]


---------------
Can't buy what I want because it's free -
n°1927951
theredled
● REC
Posté le 30-09-2009 à 14:50:50  profilanswer
 

Vu :o

Citation :

Version 5.2.6
# Fixed bug #42937 (__call() method not invoked when methods are called on parent from child class). (Dmitry)


 
Vous croyez que ça vaut le coup de mettre un commentaire dans la section overloading de la doc ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1927953
flo850
moi je
Posté le 30-09-2009 à 14:51:40  profilanswer
 

php 5.3 ici , ça marche


---------------

n°1927954
flo850
moi je
Posté le 30-09-2009 à 14:53:40  profilanswer
 

skeye a écrit :

figure 1 : __call() et ses potes, c'est de la merde en barre.[:doc petrus]


les bugs de php et l'inconsistance à chaque version , c'est de la merde en barre [:classe++]


Message édité par flo850 le 30-09-2009 à 14:53:51

---------------

n°1927955
skeye
Posté le 30-09-2009 à 14:53:42  profilanswer
 

Je comprends même pas dans quel contexte on peut avoir besoin de ce bricolage, en fait.[:petrus75]


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 30-09-2009 à 14:53:42  profilanswer
 

n°1927958
flo850
moi je
Posté le 30-09-2009 à 14:55:02  profilanswer
 

non, mais ne cherche pas, tu ne comprendras jamais


---------------

n°1927959
skeye
Posté le 30-09-2009 à 14:56:59  profilanswer
 

flo850 a écrit :

non, mais ne cherche pas, tu ne comprendras jamais


Je parlais du cas spécifique qu'il présente là, hein...qu'est-ce qui peut pousser quelqu'un à appeler une méthode qui n'existe pas dans une classe dont on est en train d'hériter?[:pingouino]


---------------
Can't buy what I want because it's free -
n°1927965
flo850
moi je
Posté le 30-09-2009 à 15:03:52  profilanswer
 

comment B sait que dothis est une fonction qui existe "pour de vrai " dans A ou pas ?  
B s'en fout,non ?


---------------

n°1927972
skeye
Posté le 30-09-2009 à 15:08:26  profilanswer
 

flo850 a écrit :

comment B sait que dothis est une fonction qui existe "pour de vrai " dans A ou pas ?
B s'en fout,non ?


Une instance de B est une instance de A. C'est comme si dans B tu passais par __call pour appeler une fonction membre à-partir d'une autre, c'est juste ridicule.:o


Message édité par skeye le 30-09-2009 à 15:08:36

---------------
Can't buy what I want because it's free -
n°1927973
flo850
moi je
Posté le 30-09-2009 à 15:10:29  profilanswer
 

a oui , ça  
 
effectivement, c'est inutile :o
 
edit : quoi que, en ayant défini un call différent dans la classe fille   [:cerveau skyzor]

Message cité 1 fois
Message édité par flo850 le 30-09-2009 à 15:11:22

---------------

n°1927976
theredled
● REC
Posté le 30-09-2009 à 15:15:57  profilanswer
 

skeye a écrit :

Je comprends même pas dans quel contexte on peut avoir besoin de ce bricolage, en fait.[:petrus75]


Quand on a un ORM avec des espèces de decorators (les Behaviours de Doctrine).
La délégation (via __call()) se faisant plus haut dans la hiérarchie.

Message cité 2 fois
Message édité par theredled le 30-09-2009 à 15:17:16

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1927977
skeye
Posté le 30-09-2009 à 15:17:03  profilanswer
 

flo850 a écrit :

edit : quoi que, en ayant défini un call différent dans la classe fille   [:cerveau skyzor]


On s'en branle, dans la classe fille tu connais toujours les membres de la classe mère.:o


---------------
Can't buy what I want because it's free -
n°1927978
flo850
moi je
Posté le 30-09-2009 à 15:18:45  profilanswer
 

theredled a écrit :


Quand on a un ORM avec des espèces de decorators (les Behaviours de Doctrine).
La délégation (via __call()) se faisant plus haut dans la hiérarchie.


alors tu t'en fous, ta classe fille hérite,non?

 
skeye a écrit :


On s'en branle, dans la classe fille tu connais toujours les membres de la classe mère.:o


si tu as de s__call différent, ça peut changer de faire parent::dothis ( __call du parent) , ou $this->doThis() (__call de la classe courante)
EDIT : je pense que tu as fait un quote de porc

Message cité 1 fois
Message édité par flo850 le 30-09-2009 à 15:19:13

---------------

n°1927979
theredled
● REC
Posté le 30-09-2009 à 15:19:30  profilanswer
 

En l'occurence :

Code :
  1. class CustomAlbum extends BaseCustomAlbum // < Doctrine_Record
  2. {
  3.  public function freezePrices()
  4.  {
  5.    parent::freezePrices(); // méthode inexistante à déléguer à une autre classe via Doctrine_Record::__call()
  6.  
  7.    foreach ($this->Disks as $i => $disk)
  8.      $disk->freezePrices();
  9.  
  10.    foreach ($this->BonusProductsLinks as $bpl)
  11.      $bpl->freezePrices();
  12.  }
  13. }

Message cité 1 fois
Message édité par theredled le 30-09-2009 à 15:22:08

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1927980
skeye
Posté le 30-09-2009 à 15:19:53  profilanswer
 

theredled a écrit :


Quand on a un ORM avec des espèces de decorators (les Behaviours de Doctrine).
La délégation (via __call()) se faisant plus haut dans la hiérarchie.


Un exemple?[:petrus dei]
La première page sur que google me retourne contient

Code :
  1. $query->$func($dql);

et donc là j'ai les yeux qui saignent, flemme de chercher de plus près :D


---------------
Can't buy what I want because it's free -
n°1927983
skeye
Posté le 30-09-2009 à 15:22:05  profilanswer
 

flo850 a écrit :


si tu as de s__call différent, ça peut changer de faire parent::dothis ( __call du parent) , ou $this->doThis() (__call de la classe courante)
EDIT : je pense que tu as fait un quote de porc

 

oui mais justement tu fais pas $this->dothis() si le but c'est d'appeler une méthode de la classe mère, tu appelles directement le parent::dothat qui existe! :o


Message édité par skeye le 30-09-2009 à 15:22:24

---------------
Can't buy what I want because it's free -
n°1927984
skeye
Posté le 30-09-2009 à 15:24:40  profilanswer
 

theredled a écrit :

En l'occurence :

Code :
  1. class CustomAlbum extends BaseCustomAlbum // < Doctrine_Record
  2. {
  3.  public function freezePrices()
  4.  {
  5.    parent::freezePrices(); // méthode inexistante à déléguer à une autre classe via Doctrine_Record::__call()
  6.  
  7.    foreach ($this->Disks as $i => $disk)
  8.      $disk->freezePrices();
  9.  
  10.    foreach ($this->BonusProductsLinks as $bpl)
  11.      $bpl->freezePrices();
  12.  }
  13. }


 

Et il fait quoi dans la vraie vie le parent::freezePrices() [:petrus dei]

Message cité 1 fois
Message édité par skeye le 30-09-2009 à 15:24:49

---------------
Can't buy what I want because it's free -
n°1927987
theredled
● REC
Posté le 30-09-2009 à 15:31:21  profilanswer
 

skeye a écrit :

 

Et il fait quoi dans la vraie vie le parent::freezePrices() [:petrus dei]


parent::freezePrices() n'existe pas :o
mais via __call() il appelle OdDoctrinePriceRememberable::freezePrices() qui sert à "mémoriser des prix à partir d'enregistrements liés".

 

Ce OdDoctrinePriceRememberable étant un "behaviour" partagé par plein de modèles différents qui partagent cette fonctionnalité, plus tout ce qui va avec (champs, etc). Une espèce de Decorator Pattern quoi.

 

C'est un peu compliqué mais pas tellement :o


Message édité par theredled le 30-09-2009 à 15:33:16

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1927993
skeye
Posté le 30-09-2009 à 15:39:50  profilanswer
 

...et qu'est-ce qui t'empêche d'appeler directement ce truc? [:petrus dei]


---------------
Can't buy what I want because it's free -
n°1927995
flo850
moi je
Posté le 30-09-2009 à 15:42:50  profilanswer
 

de ne pas avoir à savoir dans la classe fille si doThis est une fonction virtuelle ?  
 
Je t'en prie, répète que tu préfère déclarer toutes les fonctions explicitement, que c'est plus propre et plus lisible


---------------

n°1928001
skeye
Posté le 30-09-2009 à 15:49:00  profilanswer
 

flo850 a écrit :

de ne pas avoir à savoir dans la classe fille si doThis est une fonction virtuelle ?  
 
Je t'en prie, répète que tu préfère déclarer toutes les fonctions explicitement, que c'est plus propre et plus lisible


:D
 
Non mais dans le cas présent il y a vraiment un truc qui m'échappe - il sort d'où le parent, sur le coup?
Pourquoi on se retrouve dans le __call() alors que manifestement il existe forcément une fonction (logique à défaut d'être matérialiséeà) freezePrices()?
C'est du généré? De la flemme d'écrire N fois des fonctions sur le même modèle?
Si oui, on peut voir la tronche du __call()?[:joce]


---------------
Can't buy what I want because it's free -
n°1928005
theredled
● REC
Posté le 30-09-2009 à 15:58:34  profilanswer
 

skeye a écrit :


:D

 

Non mais dans le cas présent il y a vraiment un truc qui m'échappe - il sort d'où le parent, sur le coup?
Pourquoi on se retrouve dans le __call() alors que manifestement il existe forcément une fonction (logique à défaut d'être matérialiséeà) freezePrices()?
C'est du généré? De la flemme d'écrire N fois des fonctions sur le même modèle?
Si oui, on peut voir la tronche du __call()?[:joce]


Le call est dans le framework, et le behaviour est géré par lui. Je veux bien m'amuser à instancier le behaviour et compagnie à chaque que j'en appelle une méthode, mais bonjour le découplage et le code moche, et puis c'est pas du tout fait pour être utilisé comme ça :o

 

En fait c'est pas un simple Decorator Pattern (qui suppose une interface fixe), on ajoute des méthodes, aussi, dynamiquement (dont ici freezePrices()).

 

Bon, ok, c'est pas un Decorator du tout en fait :o


Message édité par theredled le 30-09-2009 à 16:03:40

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1932395
theredled
● REC
Posté le 16-10-2009 à 11:40:58  profilanswer
 

Pb de transparence avec GD, spécial dédicace DJ Yell :o
 
imagecolortransparent() qui retourne -1 avec un PNG32 bel et bien transparent, ça parle à quelqu'un ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1932429
Dj YeLL
$question = $to_be || !$to_be;
Posté le 16-10-2009 à 13:07:42  profilanswer
 

theredled a écrit :

Pb de transparence avec GD, spécial dédicace DJ Yell :o

 

imagecolortransparent() qui retourne -1 avec un PNG32 bel et bien transparent, ça parle à quelqu'un ?

 

Avec un bout de code ça serait bien aussi :D

 

Tu l'utilises comment ? (parce qu'en fait je ne l'utilise pas du tout ça :??: )

 

Edit : perso, sur le bout de code dont j'avais besoin, ça donne ça :

 
Code :
  1. $destination_img = imagecreatetruecolor($new_width, $new_height);
  2. $transparent = imagecolorallocatealpha($destination_img,0,255,0,127);
  3. imagefill($destination_img, 0, 0, $transparent);
  4. imagecopyresampled($destination_img, $source_img, ...);
  5. imagesavealpha($destination_img, true);
  6. imagepng($destination_img, $destination_path, $quality);
 

Après je ne sais pas s'il y a mieux, mais suite à une longue bataille, c'est tout ce que j'ai trouvé pour que ça marche correctement (dans moncas, c'était la fusion d'un PNG24 avec une autre image)

 

Edit 2 : soit dit en passant qu'il serait intéressant qu'il foute quelque chose de correct à la place de GD, parce que c'est de la daube

Message cité 1 fois
Message édité par Dj YeLL le 16-10-2009 à 13:11:23

---------------
Gamertag: CoteBlack YeLL
n°1932492
theredled
● REC
Posté le 16-10-2009 à 15:10:29  profilanswer
 

Dj YeLL a écrit :

 

Avec un bout de code ça serait bien aussi :D

 

Tu l'utilises comment ? (parce qu'en fait je ne l'utilise pas du tout ça :??: )

 

Edit : perso, sur le bout de code dont j'avais besoin, ça donne ça :

 
Code :
  1. $destination_img = imagecreatetruecolor($new_width, $new_height);
  2. $transparent = imagecolorallocatealpha($destination_img,0,255,0,127);
  3. imagefill($destination_img, 0, 0, $transparent);
  4. imagecopyresampled($destination_img, $source_img, ...);
  5. imagesavealpha($destination_img, true);
  6. imagepng($destination_img, $destination_path, $quality);
 

Après je ne sais pas s'il y a mieux, mais suite à une longue bataille, c'est tout ce que j'ai trouvé pour que ça marche correctement (dans moncas, c'était la fusion d'un PNG24 avec une autre image)

 

Edit 2 : soit dit en passant qu'il serait intéressant qu'il foute quelque chose de correct à la place de GD, parce que c'est de la daube


Ouep ça j'ai trouvé (edit : quoique nan, je fais pas pareil mais bref), c'est comme ça que je suis remonté au pb.

 

En fait c'est le plugin dont je me sers qui utilise imagecolortransparent() avec un seul argument pour déterminer si l'image gère la transparence. Pour certains PNG32, ça marche, pour d'autres, non.

 

Et il avait un autre pb que j'ai contourné sans le cerner précisément... mais ça on s'en fout :o

Message cité 1 fois
Message édité par theredled le 16-10-2009 à 15:13:59

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1932495
Dj YeLL
$question = $to_be || !$to_be;
Posté le 16-10-2009 à 15:19:42  profilanswer
 

theredled a écrit :


Ouep ça j'ai trouvé (edit : quoique nan, je fais pas pareil mais bref), c'est comme ça que je suis remonté au pb.
 
En fait c'est le plugin dont je me sers qui utilise imagecolortransparent() avec un seul argument pour déterminer si l'image gère la transparence. Pour certains PNG32, ça marche, pour d'autres, non.
 
Et il avait un autre pb que j'ai contourné sans le cerner précisément... mais ça on s'en fout :o


 
Les PNG en question, ils ont bien de la transparence ? (en plus d'être PNG32 je veux dire) (question con mais bon, on ne sait jamais :D )


---------------
Gamertag: CoteBlack YeLL
n°1932496
theredled
● REC
Posté le 16-10-2009 à 15:20:49  profilanswer
 

Dj YeLL a écrit :


 
Les PNG en question, ils ont bien de la transparence ? (en plus d'être PNG32 je veux dire) (question con mais bon, on ne sait jamais :D )


Bah oui c'est bien comme ça je vois que ça marche pas :o (ça remplace la transparence par du noir)


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1932713
theredled
● REC
Posté le 17-10-2009 à 13:08:51  profilanswer
 

Tin qu'ils sont moches les namespaces de php 5.3 [:-tinost@r-]  
 

Code :
  1. $user = \Models\User::find(1);



---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1932715
masklinn
í dag viðrar vel til loftárása
Posté le 17-10-2009 à 13:26:45  profilanswer
 

theredled a écrit :

Tin qu'ils sont moches les namespaces de php 5.3 [:-tinost@r-]  
 

Code :
  1. $user = \Models\User::find(1);




 [:bakk11]


---------------
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°1932761
theredled
● REC
Posté le 17-10-2009 à 17:01:32  profilanswer
 

Par contre, dans le genre cool, j'ai l'impression que les perfs par rapport à 5.2... [:le kneu]

 

edit : ah, ça doit être surtout sous windows : http://ez.no/developer/forum/devel [...] _huge_gain


Message édité par theredled le 17-10-2009 à 17:03:58

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1933088
___alt
Posté le 19-10-2009 à 11:04:46  profilanswer
 

theredled a écrit :

Tin qu'ils sont moches les namespaces de php 5.3 [:-tinost@r-]  
 

Code :
  1. $user = \Models\User::find(1);




 
 [:-the_unforgiven-]


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°1933386
theredled
● REC
Posté le 19-10-2009 à 18:06:02  profilanswer
 

Salut [:dawa]

 

J'ai un problème.

 

J'ai deux noms de domaines qui pointent vers le même site.
Je voudrais conserver la session en passant d'un domaine à l'autre via une URL générée.
J'ai essayé de passer l'id dans l'url mais j'ai pas réussi.
Comment faire.

Message cité 1 fois
Message édité par theredled le 19-10-2009 à 18:07:12

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1933388
masklinn
í dag viðrar vel til loftárása
Posté le 19-10-2009 à 18:12:01  profilanswer
 


Et google "Tabouret" [:aloy]


---------------
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   profilanswer
 

 Page :   1  2  3  4  5  ..  22  23  24  ..  66  67  68  69  70  71

Aller à :
Ajouter une réponse
 

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-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)