Page 1 sur 1
variables projets en PHP
Posté : 21 janv. 2011, 10:45
par enneite
Je me posais une question.
En PHP il existe des variables locales, des variables globales avec $GLOBALS[], des variables de session avec $_SESSION[]
Mais je n'ai pas trouvé un type de variable assez particulier.
Existe-il en PHP des variables projets?
C'est à dire des variables qu'on initialiserait au lancement d'apache par exemple, et qui seraient stockées quelque part pour être utilisables quelque soit le script et quelque soit la session qui l'utilise.
J'ai testé un peu $_ENV, getenv() et putenv(), cela n'a pas été probant.
Même en modifiant des directives du fichier PHP_INI. tels que passer le safe_mode à on et le register_globals à on, je n'arrive pas à définir
putenv("PHP_testVariableEnvironnement=test1"); dans un script et la récupérer avec getenv("PHP_testVariableEnvironnement") dans le script suivant.
Re: variables projets en PHP
Posté : 21 janv. 2011, 11:03
par xTG
Pour un problème de ce genre j'utiliserai un fichier ini pour ma part.
$varProjet = parse_ini_file("configuration_projet.ini");
Re: variables projets en PHP
Posté : 21 janv. 2011, 12:34
par Mazarini
Bonjour,
Ca n'existe pas à ma connaissance.
En général j'utilise un fichier config.php pour initialiser mes variables ou mes constantes.
Rien ne t'empêche d'avoir un répertoire include définit via include_path dans php.ini qui permettent à tout les sites d'accéder à ce fichier.
Re: variables projets en PHP
Posté : 21 janv. 2011, 18:50
par enneite
En fait Marzini, j'ai déjà un fichier environnement.php ou je définis des constantes et les variables globales.
Mais il est chargé dans chacun de mes scripts.
Du coup, je ne fait que définir des constantes et des variables en dur.
Je me garde bien d'y faire des requètes en BDD par exemple pour initialiser les variables afin d'optimiser les performances.
Mais du coup , je n'ai pas de variables globales dont la valeur pourrait être mise à jour au cours du temps sans la stocker en BDD ou dans un fichier, mais qui serait stockée dans un endroit mémoire de PHP un peu comme sont stocké $_SERVER['PHP_AUTH_USER'] et $_SERVER['PHP_AUTH_PW'] par exemple.
A défaut de pouvoir paramétrer ce genre de variable, je peux donc utiliser parse_ini_file() mais, du coup, je dois modifier le fichier ini à chaque fois que mes variables sont modifiées ...
Mouais...
bon, en tous cas merci les amis.
Re: variables projets en PHP
Posté : 25 janv. 2011, 04:26
par moogli
hum, il n'y a pas de sauvegarde entre les différents page d'un site oueb en php hors mis les sessions, il est possible de mettre tous cela en session mais ça pose un problème de sécurité certain

mais ça ne sera pas partagé entre les scripts, la seule solution est le fichier inclus.
@+
Re: variables projets en PHP
Posté : 27 janv. 2011, 19:03
par enneite
arh , c'est dommage ça!
parce que SSJS et JEE le font ça!
mais bon, c'est pas grave, je crois que je vais essayer de bricoler un truc avec des fichiers très simples format texte, pour optimiser la rapidité de sélection des données.
merci.
Re: variables projets en PHP
Posté : 27 janv. 2011, 19:05
par stealth35
tu peux utiliser
APC sinon

Re: variables projets en PHP
Posté : 27 janv. 2011, 19:23
par enneite
ça a l'air pas mal ça, mais je ne connais pas du tout.
Je t'avoue, je débarque là...
Je suis sous windows d'ailleurs (php5.3).
C'est pas un peu compliqué à installer?
Tu t'en sers toi?
t'as un exemple d'utilisation à me donner?
Re: variables projets en PHP
Posté : 27 janv. 2011, 19:27
par stealth35
ça a l'air pas mal ça, mais je ne connais pas du tout.
Je t'avoue, je débarque là...
Je suis sous windows d'ailleurs (php5.3).
C'est pas un peu compliqué à installer?
Tu t'en sers toi?
t'as un exemple d'utilisation à me donner?
sous windows tu trouver l'extension ici :
http://downloads.php.net/pierre/
pour l'installation les info sont par la :
http://www.php.net/manual/fr/install.pecl.windows.php
APC est un système de cache de fichier et de donnée, donc tu peux très bien t'en servir pour partager des données.
Re: variables projets en PHP
Posté : 27 janv. 2011, 19:29
par enneite
ok merci, je vais regarder tout ça!
Re: variables projets en PHP
Posté : 27 janv. 2011, 19:52
par enneite
bon APC installé, il reste plus qu'à savoir comment je vais m'en servir
print_r(apc_cache_info(null,true));
Ca me donne un tableau avec plein de données bizzarres.
Je vais regarder ça plus précisement.
Ouais, pas mal.
C'etait un truc du genre que je cherchais.
On peut envisager des pool de connexions aux bases de données avec ça?
(Même si dans un premier temps, c'est à une autre utilisation que je pensais.)
Re: variables projets en PHP
Posté : 27 janv. 2011, 20:19
par stealth35
c'est un système de cache, pour mettre une variable c'est apc_store, pour la récupérer c'est apc_fetch

Re: variables projets en PHP
Posté : 29 janv. 2011, 11:09
par Moosh
C'est typiquement ce qu'on utilise dans une appli ZendFramework mais moi je m'en suis fait ma petite version
sur chaque machine j'ai des
dans le vhost (ou plus souple dans le .htaccess)
Code : Tout sélectionner
SetEnv APPLICATION_Name "nomDeLAppli"
SetEnv APPLICATION_ENV "dev"
SetEnv HOST_ENV "LenomdelaMachine"
dans le php
$strStaging = (isset($_SERVER['APPLICATION_ENV']) ? $_SERVER['APPLICATION_ENV'] : 'prod');
// il vaudrait mieux gérer le else avec un trigger ou une exception
puis tu utilises un
Zend_Config_Ini
avec des sections basées sur tout ca.
Code : Tout sélectionner
; Ceci est un fichier de configuration
; Les commentaires commencent par ';', comme dans php.ini
[prod]
one = 1
five = 5
animal = BIRD
affiche_le_debug = 0
[dev : prod]
affiche_le_debug = 1
$options = new Zend_Config_Ini('/chemin/vers/config.ini', $strStaging );
$options->affiche_le_debug contiendra 1 si prod et 0 si dev
$options->one contiendra 1 en prod ET en dev
Re: variables projets en PHP
Posté : 31 janv. 2011, 11:44
par enneite
Salut Moosh, ton post m'a l'air très interessant.
Je n'utilise pas ZEND framework, mais bon, ça fait une bonne occasion de s'y mettre.
Sinon, avec ton système la modification de ces "variables projets" est elle simple?
Car le but est aussi de pouvoir les modifier régulièrement sans avoir à les stocker en BDD ou dans des fichiers lents à l'accès.
Re: variables projets en PHP
Posté : 31 janv. 2011, 13:45
par Moosh
Salut Moosh, ton post m'a l'air très interessant.
Je n'utilise pas ZEND framework, mais bon, ça fait une bonne occasion de s'y mettre.
Sinon, avec ton système la modification de ces "variables projets" est elle simple?
Car le but est aussi de pouvoir les modifier régulièrement sans avoir à les stocker en BDD ou dans des fichiers lents à l'accès.
C'est par facilité qu'on installe tout Zend Framework (alors qu'avec PEAR on installe ce dont on a besoin)
Mais ici c'est une utilisation simple ici d'un module. Ce n'est pas faire "du Zend Framework" ne "t'effraie" pas.
Donc tu peux stocker en DB. puis générer les fichiers qui seront utilisé par ton code
mais généralement on modifie le fichier lui même.