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

  FORUM HardWare.fr
  Programmation
  PHP

  Utilité de "global" en haut d'un fichier PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilité de "global" en haut d'un fichier PHP

n°1750724
phenxdesig​n
Posté le 24-06-2008 à 15:34:28  profilanswer
 

Bonjour, après quelques recherches à propos du global de PHP dont je connais le fonctionnement.
Au risque de passer pour un neuneu, je vous pose cette question quand meme : je voudrais connaitre s'il y avait une utilité de mettre des  

global $truc, $machin;


tout en haut de fichiers inclus en PHP, qu'ils soient inclus a partir de fonctions, classes ou globalement.
 
Merci à vous !!

mood
Publicité
Posté le 24-06-2008 à 15:34:28  profilanswer
 

n°1750725
flo850
moi je
Posté le 24-06-2008 à 15:36:49  profilanswer
 

Code :
  1. require_once('config.inc.php');
  2.  
  3. echo " $maVariableGlobale"; // affiche la valeur de la variable
  4.  
  5. function failed(){
  6. echo " $maVariableGlobale";   //n'affiche rien
  7. }
  8.  
  9. function success(){
  10. global $maVariableGlobale;
  11. echo " $maVariableGlobale";   //fonctionne
  12. }


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

n°1750729
phenxdesig​n
Posté le 24-06-2008 à 15:39:01  profilanswer
 

Merci, je connais le principe  :D  
C'est juste que la je bosse sur un gros projet en PHP, avec des global un peu partout, qu'on essaie d'enlever au fur et a mesure, et il semble que dans certains fichiers, ils soit necessaire de declarer des variables "global" au debut du fichier, je voudrais savoir pourquoi, vu qu'on n'est pas dans le scope d'une fonction (ou classe)

n°1750822
phenxdesig​n
Posté le 24-06-2008 à 19:05:50  profilanswer
 

Bon bah en fait, le fait d'inclure un fichier fait qu'on doit mettre les variables globales avec le mot clé "global" si on veut les utiliser à l'interieur de celui-ci.
Ce qu'on fait maintenant pour eviter les global, on les met dans des classes, en static, normalement c'est plus rapide.

n°1750839
vanadium
N° Atomique : 23
Posté le 24-06-2008 à 20:31:15  profilanswer
 

Generalement, quand il commence à y avoir beaucoup de données "globales", c'est que l'application a été mal conçue.
Rien de mieux que Wikipedia pour expliquer les erreurs de conception les plus courantes à éviter absolument :
http://fr.wikipedia.org/wiki/Antipattern
(cf partie Action à distance)

n°1750841
phenxdesig​n
Posté le 24-06-2008 à 20:40:28  profilanswer
 

L'application etait a l'origine basée sur dotProject, s'en est totalement ecarté, mais c'etait a l'époque du PHP4, donc le coté objet etait pas trop sollicité. On tend a rendre l'appli plus propre.  
L'appli est bien conçue, sinon, mais quand je suis arrivé sur le projet, ça m'a limite filé des boutons, tous ces global partout.
Ce qui ya, c'est que c'est un logiciel de gestion de presque tous les aspects de cliniques medicales, en gros. Et changer des choses est assez critique, alors on y va petit a petit, j'ai deja fait enormement de refactoring sur ce projet, en un peu moins de 5 mois, j'ai changé pratiquement 40000 lignes de code, et pour la plupart c'est de l'optimisation du genre virer des global.

n°1751942
vanadium
N° Atomique : 23
Posté le 26-06-2008 à 17:19:46  profilanswer
 

Je pense qu'il y a un moment où il faut tout refaire, garder du code existant et le modifier à outrance ne donne jamais rien de bon :D

n°1751984
phenxdesig​n
Posté le 26-06-2008 à 19:49:53  profilanswer
 

Je crois aussi, mais avec 250000 lignes de code à 4 développeurs, faut en vouloir :D

n°1752191
vanadium
N° Atomique : 23
Posté le 27-06-2008 à 12:05:54  profilanswer
 

Mouarf c'est pas en nombre de lignes qu'il faut compter, mais en fonctionnalités à recoder proprement ;)
si ça se trouve le code refait prend 5fois moins de lignes ;)

n°1752193
phenxdesig​n
Posté le 27-06-2008 à 12:10:37  profilanswer
 

Ca, c'est possible ! (5 je pense pas, mais 2 fois, peut etre)
Sinon, bah les fonctionnalités ... avec une base de 120 tables (chaque table correspond à un type d'objet métier) les fonctionnalités ... yen a !
Enfin bref, tout ça pour dire qu'un gros refactoring est quand meme prevu, et j'espere qu'on va pas trop le repousser, puisque j'ai hate de m'y mettre

mood
Publicité
Posté le 27-06-2008 à 12:10:37  profilanswer
 

n°1752218
vanadium
N° Atomique : 23
Posté le 27-06-2008 à 13:56:33  profilanswer
 

Je fais une petite application de quizz en ce moment, et elle fait quand meme 20 tables deja :D
Alors 120 finalement, c pas si énorme :whistle:

n°1752221
phenxdesig​n
Posté le 27-06-2008 à 14:02:13  profilanswer
 

Ha ouais, j'avais oublié les 6 BDD annexes  [:petrus75]
Voici le wiki du projet : http://mediboard.org/public/tiki-index.php ya un svn public et tout, vu que c'est un logiciel libre


Message édité par phenxdesign le 27-06-2008 à 14:06:06

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

  Utilité de "global" en haut d'un fichier PHP

 

Sujets relatifs
PHP agenda / tache reccurentesErreur Programmation Objet PHP 5
[Boot] Haut-niveauFormulaire Php - Sql
VIM : configuration spéciale PHPContenu HTML + variable PHP + Outlook
Problème d'affichage de la page PHPProblème pour un script d'upload de fichier
Bouquin pour se perfectionner dans un PHP très propre (classes?)creer une popup a partir d'un fichier .csv
Plus de sujets relatifs à : Utilité de "global" en haut d'un fichier PHP


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