IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Modifier une variable POO


Sujet :

Langage PHP

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Points : 219
    Points
    219
    Par défaut Modifier une variable POO
    bonsoir en faite c'est une question sûrement très bête mais dont je n'ai pas la réponse.

    j'ai une class Config dans configuration.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class Config {
    	var $test= 0;
    }
    comment je peux faire pour modifier la variable $test dans mon fichier ?

    exemple lui attribuer la valeur 5;

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Points : 219
    Points
    219
    Par défaut
    ceci changera la valeur ponctuellement, moi j'aimerai la changer par défaut ?

  4. #4
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonsoir,

    une explication plus claire ne serait pas de refus

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Points : 219
    Points
    219
    Par défaut
    plus clair... on va essayer...

    je possède un fichier qui se nomme configuration.php
    à l'intérieur il y a une class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class Config {
    	var $test= 0;
    }
    imaginons que je veuille changer la valeur par défaut qui est de 0 par 5.

    je veux écrire dans le fichier pour modifier sa valeur et non lui affecter une autre valeur par une variable qui marcherait juste au moment voulu.
    Je sais que ceci existe car c'est utilisé dans certains cms.

  6. #6
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Un truc me turlupine, c'est : var $test= 0;
    Ca c'est du Php4, donc obsolète depuis des lustres.
    C'est comme ceci depuis Php5 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class Config {
    	public $test= 0; // Ou protected ou private
    }
    Je sais que ceci existe car c'est utilisé dans certains cms.
    Peut être, mais déjà ça demande vraiment d'en être certain, puis le besoin est quand même pas banal.

    N'empêche que si au départ on conçoit une classe, un code, puis au final on se rencontre que pour X raison un code n'est pas celui attendu, c'est qu'il y a un problème de conception (du code) non ?

    Je ne suis pas un aficionados de la POO, mais pour modifier un code d'un fichier, il me semble qu'il n'y a pas d'autres moyens que de récupérer son contenu, rechercher la ligne (le code) en question est la modifier.
    Puis après déclarer la classe si au bout le but est qu'elle soit interprétée.


    Réflexion comme ça.
    Si selon un contexte la valeur 0 sera valide et que dans un autre contexte ça doit être 5, alors c'est le contexte qui conditionne cette valeur, non ?
    Donc cette valeur viendrait plutôt du contexte et pas de la classe, non?

    Quelque par il faudrait au moins 2 classe Config différentes.
    L'héritage peut offrir ça par exemple.
    Créer une classe Mère Config où on déclarerait uniquement $test, sans lui affecter de valeur.
    Puis créer 2 autres classes Filles dérivées de Config et cette fois en affectant les valeurs adéquats selon le contexte.



    Mais n'y a t-il pas moyen de dire de quoi il s'agit concrètement, car $test c'est toujours aussi vague.

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Points : 219
    Points
    219
    Par défaut
    Joomla 1.5 utilise une class de configuration au de lieu d'utiliser une table de configuration dans la base de données.

    donc des valeurs qui changent me choquent pas,

    exemple dans le cas ou un mot de passe change ou une base de données.

    ensuite pour mon exemple peut importe je l'ai inventé c'est juste pour dire que je veux changer la valeur par défaut.

    Et sinon tout à fait d'accord pour le php4.

    je vais continuer à chercher...

    merci à vous.

  8. #8
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Joomla 1.5 utilise une class de configuration au de lieu d'utiliser une table de configuration dans la base de données.
    J'utilise aussi une classe Config, ce n'est pas pour autant qu'il faille modifier le code de cette classe.
    Disons que ça ne coule pas de source.


    A coté de ça, ce genre de Soft largement usine à gaz, prévoient souvent un fichier "install.php", pour l'installation justement, et s'occupe à générer du code.
    Il n'est donc pas rare que du code Php génère du code Php.
    Une fois l'installation terminé, il est souvent aussi demandé de supprimer ce fichier.
    Les fichiers créés eux restent par contre, et surtout pas les supprimer.

    Et bien ici on peu imaginer de créer cette classe Config avec les valeurs selon l'environnement où c'est installé.

    Exemple :
    Code : 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
    <?php
    if (selon_contexte) {
         $attribut_test =  0;
    }
    else {
         $attribut_test =  5;
    }
     
    $data = '<?php'.PHP_EOL;
    $data .= '
    class Config {
    	public $test = '.$attribut_test.';
    }
    '.PHP_EOL;
    $data .= '?>'.PHP_EOL;
    file_put_contents ('.../chemin/de/la/config.php' , $data);
    ?>
    N'est ce pas ce genre de truc que tu veux faire ?

    On peu aussi prévoir à ce que ça se modifie, du moins, on peu re-créer/écraser le fichier si le contexte change.

    Mais dans tous les cas, je ne vois pas d'autres solutions que d'écrire le fichier.


    N'empêche que tu ne dis toujours pas ce qui se cache derrière ce $test.
    Ca doit être du top secret défense.

Discussions similaires

  1. [PHP-JS] Modifier une variable PHP en JavaScript
    Par Prenthès dans le forum Langage
    Réponses: 6
    Dernier message: 17/01/2007, 17h52
  2. [Tableaux] Modifier une variable passée en get
    Par akito dans le forum Langage
    Réponses: 10
    Dernier message: 20/08/2006, 19h58
  3. Réponses: 9
    Dernier message: 03/07/2006, 19h32
  4. Modifier une variable globale
    Par bahet dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2006, 19h04
  5. modifier une variable dans un fichier
    Par Guismay dans le forum Langage
    Réponses: 7
    Dernier message: 11/09/2005, 20h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo