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

WordPress PHP Discussion :

Utilisation d'une variable à l'extérieur d'une fonction


Sujet :

WordPress PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 93
    Par défaut Utilisation d'une variable à l'extérieur d'une fonction
    Bonjour,

    Je travaille actuellement sur la création d'un plugin Wordpress qui permettra de remplir un formulaire sur un candidat. Ce qui entraine une mise en base des infos, le tout pour être consultable sous forme de CV sur un site.

    Mon problème c'est que je n'ai encore jamais coder avec Wordpress et que je m'y connais assez peu en objet. J'espère que quelqu'un pourra me débloquer ici.

    Concrètement : j'ai une classe mini_cv, dans cette classe se trouve une fonction __construct() qui appelle la fonction load_cv au chargement de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class Mini_Cv{
            public function __construct(){
                add_action('wp_loaded', array($this, 'load_cv'));
            }
    [...]
    }
    Cette fonction load_cv n'a pour but que de vérifier si un id de CV m'a été communiqué en GET pour en charger les infos depuis la base dans le formulaire afin de pouvoir les modifier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     public function load_cv($cv)
            {
                if (isset($_GET['num_cv']) && !empty($_GET['num_cv'])) {
                    global $wpdb;
                    $cv = $wpdb->get_row("SELECT * FROM cv WHERE NoCV=".$_GET['num_cv']);
     
                   return $cv;
                }
            }
    Cette fonction fonctionne, elle est appelée au bon moment et m'affiche ce que je veux sur le CV tant que je suis dedans. Par contre, une fois sortie de ma fonction, impossible de réutiliser l'objet $cv !
    Comment est ce que je peux faire pour l'utiliser en dehors de cette fonction ?

    Si besoin je peux mettre mon code entier.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 573
    Par défaut
    tu peux utiliser le même principe que WordPress qui stocke la page en cours dans une variable globale.
    donc tu peux par exemple stocker le CV dans $GLOBALS["cv"]

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 93
    Par défaut
    Ok, merci beaucoup de répondre.

    Ça fonctionne mais on j'ai toujours entendu dire que les variables globales, c'était le mal. Non ?
    Pourquoi là on en utiliserait ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  2. Définir une variable à l'extérieur d'une procédure
    Par John81 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/11/2008, 14h15
  3. [Smarty] Récuper une variable php à partir d'une variable Smarty
    Par SPKlls dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/04/2008, 17h40
  4. [Free Pascal] [2.2] Impossible d'assigner une variable de type T à une variable de type T
    Par Hibou57 dans le forum Free Pascal
    Réponses: 3
    Dernier message: 12/10/2007, 12h31
  5. Réponses: 1
    Dernier message: 22/08/2007, 23h40

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