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

Symfony PHP Discussion :

Comment utiliser des parametres globaux dans une tâche [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Points : 15
    Points
    15
    Par défaut Comment utiliser des parametres globaux dans une tâche
    Bonjour,
    Je réalise une tache qui se connecte à un web service.
    Je voudrais mettre les paramètres de connexion dans un fichier de configuration (il me semble que app.yml sert à ça).

    Mais sfConfig::get('app_mavariable') ne renvoie rien dans la tâche.

    Quelqu'un a une solution ?

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    De tête et sans garantie...

    Ta tâche doit hériter d'un sfBaseTask qui doit lui (ou son parent) avoir une propriété configuration qui embarque la configuration pour ton environnement et ta tâche. C'est probablement un pointeur vers un truc dans le genre de sfApplicationConfiguration ou un truc dans le genre.

    Vérifie dans l'api de symfony.

    Tu devrais y trouver ton bonheur.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    J'ai trouvé une solution, je vous la livre
    Lorsque l'on créé une tâche par l'intermédiaire de la ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php symfony generate:task maTache
    Symfony ajoute dans la fonction configure() le bloc suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $this->addOptions(array(
          new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED, 'The application name'),
          new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 'The environment', 'dev'),
          new sfCommandOption('connection', null, sfCommandOption::PARAMETER_REQUIRED, 'The connection name', 'doctrine'),
          // add your own options here
        ));
    Ces options sont passées en argument de la fonction execute() lors de l’exécution de la tache.
    C'est en renseignant l'option --application que l'on permet à la tâche d'accéder au fichier app.yml de l'application en question. Deux solutions :
    - en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php symfony namespace:maTache --application=mon_application
    - ou en ajoutant dans la tâche un argument par défaut pour l'option --application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $this->addOptions(array(
       new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED, 'The application name', 'mon_application'),
        ...
    ));
    Si l'option --application n'est pas renseignée, sfConfig::get(...) ne peut accéder qu'aux principaux chemins du projet Symfony : sf_root_dir, sf_apps_dir...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Comment utiliser des images stockées dans une feuille
    Par Pastekk dans le forum Excel
    Réponses: 2
    Dernier message: 30/06/2009, 12h17
  2. Réponses: 1
    Dernier message: 17/04/2009, 17h56
  3. Réponses: 3
    Dernier message: 18/09/2007, 14h54
  4. Réponses: 1
    Dernier message: 03/02/2006, 12h35
  5. Comment stocker des mots clés dans une bas Mysql
    Par renofx1 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 05/01/2006, 00h57

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