Bonjour,
Je suis en train de construire un site avec symfony2 et une notion m'échappe.. Je vais expliquer le contexte histoire que vous puissiez me ré-aiguiller si besoin est.
J'ai configuré un serveur de jeu (mod de quake3) sur ma machine et le site que je construis permettra aux administrateurs du serveur de le piloter (exécuter des commandes, etc).
Pour l'instant je suis capable d'afficher une page d'information concernant le jeu en cours (niveau, joueurs, etc) grâce à une requête envoyée au serveur.
Le problème est que la requête s’exécute à chaque rafraichissement de la page...
J'aimerais pouvoir garder en mémoire et ressortir les informations pendant 1 minute par exemple, afin d'éviter de surcharger le serveur avec des requêtes toutes les secondes..
Voici ce que j'ai pour le moment:
Un service "rcon":
Code YAML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 services: rcon: class: Urt\GeneralBundle\Server\ServerRCon arguments: ["127.0.0.1", "27960", "<rcon_password>"]
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Class ServerRCon { public $ip; public $port; public $password; function __construct($ip, $port, $password) { $this->ip = $ip; $this->port = $port; $this->password = $password; } function getStatus () { $status = new ServerStatus(); $status->date = new \DateTime("now"); //.... return $status; } }
Une classe ServerStatus:
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 namespace Urt\GeneralBundle\Server; Class ServerStatus { public $map; public $img; public $players; }
et mon controller:
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class DefaultController extends Controller { public function indexAction() { $status = $this->get("rcon")->getStatus(); return $this->render('UrtGeneralBundle:Default:index.html.twig', array('status' => $status)); } }
J'ai essayé de créer une variable statique dans mon controlleur ou encore dans mon service, afin de garder en mémoire le statut, mais rien y fait la viariable est toujours à null quand je reviens dans mon action Index..
Quel serait la meilleure façon de faire d'après vous?
Merci d'avance pour vos suggestions
Partager