La Pause Café du Forum Programmation

Dernz

proumZ

(étonnant d’ailleurs… :neutre:)

Ce message n’était pas conforme aux règles d’utilisation du nouveau forum :

:hello:

Preumz :o !

http://www.pcinpact.com/actu/news/36238-to…ers-couloir.htm

mdrrr le pauvre gars ça a planté au milieu il a ruiné sa vie !!

:lol: mais qu’est-ce que c’est con :MDR

Tiens, Mandar, tu connaîtrais pas une extension PHP qui permettrait de faire un vrai singleton en PHP ? ie: qui conserve l’objet en mémoire sans avoir à le recréer lorsqu’on réanalyse la page…

Je vois qu’une mise en cache. Avec APC, tu peux mettre des objets en mémoire partagée ou les rendre persistants, ça se rapproche de ce que tu veux faire.
Le problème c’est que conserver des ressources (une connexion à la base par exemple), c’est assez délicat… je sais même pas si ça fonctionne. D’ailleurs ça m’intéresse, je vais tester :slight_smile:

Par contre, si t’as pas besoin d’objet, tu peux mettre tes variables en mémoire partagée avec les fonctions de la famille shmop.

Ce message n’était pas conforme aux règles d’utilisation du nouveau forum :

Yep :hello:

http://www.php.net/apc
http://www.php.net/apc_fetch
Quand on sait pas on cherche ! :o

Sinon, Sans-Nom, je viens de vérifier et c’est ce que je craignais, ça fonctionne pas avec les ressources…

put.php

<?php
	$db = new mysqli('localhost', 'root', '', 'archidur');
	if (mysqli_connect_errno()) {
  echo 'Problème de connexion';
	} else {
  // On met la ressource en cache
  apc_store('db', $db);
  echo 'La ressource a été mise en cache.';
	}
?>

affiche [quote=""]
La ressource a été mise en cache.
[/quote]
get.php

<?php
	$db = apc_fetch('db');
	$resultats = $db->query('SELECT CodeClient FROM client');
	echo 'La requête a renvoyé ', (int)$resultats->num_rows, ' résultat(s).<br /><br />';
	var_dump($db);
?>

affiche [quote=""]
Warning: mysqli::query() [function.mysqli-query]: Couldn’t fetch mysqli in C:\wamp\www\apc\get.php on line 3
La requête a renvoyé 0 résultat(s).

object(mysqli)#1 (0) { }
[/quote]

:confused:
Je sais par contre que tu peux te coder ton propre pont avec MySQL qui te garde ta connexion par exemple. Mais avec les ressources classiques…

Edit : par contre pour des objets normaux, c’est tout à fait possible et ça marche très bien.

Hoo mais ça m’interesse pas encore car pour la version actuellement de WarZone je n’utilise pas (encore) de classes php.
Je m’y pencherais quand j’aurais le temps, et peut-être à ce moment la question de tout passer en cache me viendra et je chercherais du côté de APC :jap: !

Je vois. Car bon ça fait un peu chier que ça recharge tout à chaque fois :confused: surtout pour des singletons (ça veut quand même dire ce que ça veut dire).

http://ddata.over-blog.com/xxxyyy/0/00/53/…ecran-total.jpg :^^

question bête, je voudrais compter le nombre d’articles de mes chers rédacteurs pour les archives de l’alliance. Hors certains articles ont plusieurs auteur, du coup la requête :

SELECT auteur, count( auteur )
FROM `encyclopedie`
GROUP BY auteur
LIMIT 0 , 30

Donne qqch du genre :

Dark Valor 320
Dark Valor / Jango 1
Darth Sokaris/Mystra 1
Djika / Dark Valor 1

Comment faire pour compter tous les Dark Valor comme un seul ?

J’ai pensé faire un array avec les noms des personnes et faire un count like et boucler mon array, mais bon c’est un peu crade comme méthode non ?

Quand t’as plusieurs rédacteurs, ils sont sur la même ligne ?

Sinon, et si c’est MySQL (on dirait que oui), essaie cette requête :

SQL
[color=blue;font-weight:bold]SELECT[/color] auteur, count(*)

FROM `encyclopedie` GROUP BY auteur
WITH ROLLUP

:MDR

raynor je t’ai grillé, tu as téléchargé LimeWire :o

pas bien :smiley:

Il a pas le droit de transférer ses photos de vacances avec de parfaits inconnus ? :o

des photos de lui tout nu ? :o