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

  FORUM HardWare.fr
  Programmation
  PHP

  Variable statique ou variable de session ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variable statique ou variable de session ?

n°1865638
DaSayan
Posté le 25-03-2009 à 12:25:04  profilanswer
 

Bonjour à tous
 
Voilà, je suis en train de réaliser une page PHP faisant appel à de l'Ajax afin de vérifier régulièrement le contenu d'un gros tableau stocké dans PHP, et en modifier des cases si besoin est.
Pour stocker ce tableau, j'hésite entre deux solutions :
- Faire une bête variable de session
- Passer par une variable statique qui serait accédée par une fonction dans ce genre :
 

Code :
  1. define('SET_TABLEAU' , 1 );
  2. define('SET_CASE' , 2 );
  3. define('GET_CASE' , 3 );
  4.  
  5. function gestTableau($getter, $colonne = null, $ligne = null, $valeur = null) {
  6.     static $tableau = array() ;
  7.    switch($getter) {
  8.        case SET_TABLEAU :
  9.            //on remplit le tableau entier
  10.        break ;
  11.        
  12.        case SET_CASE :
  13.            //remplissage d'une case
  14.            $tableau[$colonne][$ligne] = $valeur ;
  15.        break ;
  16.        
  17.        case GET_CASE :
  18.            //retourne la valeur d'une case
  19.            return $tableau[$colonne][$ligne] ;
  20.        break ;
  21.        
  22.            //etc etc etc
  23.        default :
  24.            throw new exception ('Constante inconnue') ;                   
  25.        
  26.    }
  27. }

Et ensuite :

Code :
  1. gestTableau(SET_CASE, 10, 23, 'ma valeur')


 
Je me demande surtout qu'elle serait la différence entre l'un et l'autre au niveau du fonctionnement ( si tenté qu'il y en ait une ), et est-ce qu'il y a une vraie différence au niveau des performances entre les deux...
 
Merci d'avance :)


Message édité par DaSayan le 25-03-2009 à 13:07:23

---------------
Tous les programmeurs sont des auteurs et tous les ordinateurs sont de mauvais acteurs.
mood
Publicité
Posté le 25-03-2009 à 12:25:04  profilanswer
 

n°1865646
Profil sup​primé
Posté le 25-03-2009 à 12:58:09  answer
 

euh...
Bon ton problème est un problème de permanence des données entre deux, pages, pas dans une fonction, donc static n'a pas d'utilité si j'ai bien compris ton problème.
Il faut que tu utilises les sessions.

n°1865655
DaSayan
Posté le 25-03-2009 à 13:17:32  profilanswer
 

Bah en fait je me sers déjà de la seconde technique avec la variable statique quand j'ai besoin de stocker des valeurs qui sont appelées dans tout un site au cours de son exécution.
 
Là il s'agit effectivement d'un problème de permanence dans une page appelée via Ajax, et je me demandais si une variable statique pouvait fonctionner, si c'était plus intéressant qu'une session...


Message édité par DaSayan le 25-03-2009 à 13:18:00

---------------
Tous les programmeurs sont des auteurs et tous les ordinateurs sont de mauvais acteurs.
n°1865666
Profil sup​primé
Posté le 25-03-2009 à 13:41:07  answer
 

non, là il y a quelque chose que tu n'as pas saisi donc il est important que tu y réfléchisses un petit peu...
static permet de rendre permanente la valeur de la variable d'une fonction à chacun de ses appels.
Mais comme toutes les variables, une fois l'exécution du script terminé, elles "disparaissent" de la mémoire, elles n'existent plus... le script est terminé...
 
Les sessions, elles, permettent, grâce à des fichiers, de récupérer des infos d'un script exécuté précédemment.
 
Quand tu utilises Ajax, tu envoies une requête à chaque fois donc le script est ré-exécuté à chaque fois.

n°1865679
DaSayan
Posté le 25-03-2009 à 14:21:50  profilanswer
 

Conclusion : les sessions sont obligatoires dans mon cas...
 
Merci pour tes explications :)


Message édité par DaSayan le 25-03-2009 à 14:21:59

---------------
Tous les programmeurs sont des auteurs et tous les ordinateurs sont de mauvais acteurs.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variable statique ou variable de session ?

 

Sujets relatifs
dossier variable dans un chemin en batchrécupérer différentes valeurs d'une même variable dans un tableau
[VBA EXCEL] Récupérer son propre email Outlook dans une variableFaire passer un session PHP ou Cookies en différent domaines
Variable et tableauUtiliser une variable dans une fonction range.value
Incrémentation de variableMa variable publique est désinitialisée par mon UserForm
[Shell] : récupération de variable via awkCurl : SSL session id
Plus de sujets relatifs à : Variable statique ou variable de session ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR