JeuWeb - Crée ton jeu par navigateur
Tâche Cron ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Tâche Cron ? (/showthread.php?tid=4813)

Pages : 1 2 3 4


RE: Tâche Cron ? - Colmea - 13-05-2010

Heu oui :ninga: enfin je sais pas j'ai peut être juste interpréter ce que tu as dit:good: .

Mais oui la variable que tu rentres en paramètre quand tu appelles la fonction ($membrePseudo dans mon exemple) doit être définie avant.

$membrePseudo = $_SESSION['membre_pseudo'];
messageAccueil($membrePseudo);


RE: Tâche Cron ? - atra27 - 13-05-2010

Oui absolument!
messageAccueil($_SESSION['membre_pseudo']); marcherai aussi Wink

Et comme $_SESSION est une variable globale, tu n'a même pas besoin de la passer en paramètre :p


RE: Tâche Cron ? - Argorate - 13-05-2010

D'aillieur sa me fait poser une question comment il font pour ques les $_SESSION soit accessible partout sans avoir a remtre global $SESSION dans chaque fonction?

Car si je veux que $TOTO soit global, je met bien sur la declaration global $TOTO en dehors de ma fonction, mais ça ne suffit pas pour qu'elle soit visible dans cette-derniere, donc il me faut a nouveau redeclarer global $TOTO dans la fonction où j'en ai besoin, et j'avoue que c'est assez chian ça...

Une idée pour mettre une variable en superglobal? (comme les constantes)


RE: Tâche Cron ? - atra27 - 13-05-2010

Les variables définies par le serveur sont toujours globales...
Le tableau de session est défini en début de script par le serveur au méme titre que les $_POST, $_GET, $_COOKIES, etc donc normal que sa soit global...

Pour mettre une variable en super global, teste $GLOBALS["varname"]="aabb";
Normalement tu aura accès a la valeur partout dans tes fonctions via $GLOBALS["varname"]

C'est un tableau au même titre que $_SESSION, sauf que celui-ci n'est pas transmit d'une page a l'autre.

Il faut tester, je n'ai encore jamais utilisé ce tableau la...


RE: Tâche Cron ? - Argorate - 13-05-2010

Oui mais ça c'est plus une "astuces" qu'autre chose^^

Es-ce qu'il n'y a pas moyen que $TOTO tout court (et non $GLOBALS['toto']) soit accessible partout?


RE: Tâche Cron ? - atra27 - 13-05-2010

Pas a ma connaissance...
Mais pourquoi ne pas utiliser le tableau global qui est fait pour ça justement? c'est pas tellement une astuce vue que c'est comme ça que php a été conçu...

Je vais look un peu demain mais il me semble qu'il n'y ai que le tableau $GLOBALS qui soit vraiment global (hors autres constantes serveur)

A confirmer...


RE: Tâche Cron ? - Allwise - 13-05-2010

Les tableaux qui sont accessibles partout sans qu'il soit nécessaire de les déclarer en variables globales sont des superglobales : $_SESSION, $_GET, $_POST...
En objet on se passe de globales en utilisant des Singleton. Si tu utilises des globales, donne-leur des nom explicites, des scripts avec des globales ça peut être galère à lire / débugger. Tu peux respecter la convention de PHP et les nommer genre $_TOTO. Quand tu tombes dessus tu sais d'entrée que c'est une variable globale. C'est encore mieux si c'est un tableau. En principe tu devrais pas avoir besoin de beaucoup de variables globales, encore moins si tu les regroupes dans des tableaux : $_USER, $_CONFIG, $_MAP, $_PAUPAUL etc..

Sinon, je pense pas qu'il soit possible de rendre une variable globale partout sans qu'on ait à la déclarer et c'est tant mieux, t'imagines les risques de collision de noms de variables, la difficulté à développer et à débugger que ça entraînerait ? Ça ruinerait aussi le concept de "scope" des variables... Bref, ce serait impinable. Suffirait que quelque part dans un fichier php une variable porte le même nom et tout pète. pour un script de 10 lignes ça va, pour une vraie application ce serait pas un concept viable.


RE: Tâche Cron ? - atra27 - 16-05-2010

A par peut étre un tableau config avec la config bdd et tout ça... ok mais sinon bof bof si faut reparcourir le code qui est executé avant sur 40 fichiers différents pour savoir d'ou vient le probléme avec une variable... :p