Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/06/2011, 04h08   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 30
Points : 14
Points : 14
Par défaut Paramètre négatif dans une Tâche

Bonjour,

j'essaye de passer un int négatif en paramètre dans une tache custom :

Citation:
php symfony game:insert-planet -26 32 BH-32s 2 4 1 planets/blackhole.png 0
Mais j'obtiens le message d'erreur suivant :
Citation:
The execution of task "game:insert-planet" failed.
- The option "-2" does not exist.
- The option "-6" does not exist.
Idem si je mets des " ou '.
Je n'ai aucun problème si j'enleve le - devant 26.

Y a t'il un moyen de faire ça ?

Merci

Voici la liste des paramètres de ma tâche :
Citation:
$this->addArgument('posX', sfCommandArgument::REQUIRED, 'Choisir la centre X');
$this->addArgument('posY', sfCommandArgument::REQUIRED, 'Choisir la centre Y');
$this->addArgument('name', sfCommandArgument::REQUIRED, 'Choisir le nom de la planete');
$this->addArgument('size', sfCommandArgument::REQUIRED, 'Choisir la taille de la planete');
$this->addArgument('type', sfCommandArgument::REQUIRED, 'Choisir le type de planète à inserer');
$this->addArgument('empire', sfCommandArgument::REQUIRED, 'Choisir l\'empire');
$this->addArgument('image_positions', sfCommandArgument::REQUIRED);
$this->addArgument('is_landable', sfCommandArgument::OPTIONAL, '');
$this->addArgument('default_tiles_image', sfCommandArgument::OPTIONAL, '');
ToraTora est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 07h40   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Et si tu rentres tes arguments sous la forme --posX=-26 ?
__________________
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 !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 14h10   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 30
Points : 14
Points : 14
Il prends ça comme une option :
Citation:
The execution of task "game:insert-planet" failed.
- The "--posX" option does not exist.
ToraTora est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2011, 13h40   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
C'est logique, l'option n'est certainement pas déclarée dans le configure() de la tâche.

Il faut remplacer le
Code :
$this->addArgument('posX', sfCommandArgument::REQUIRED, 'Choisir la centre X');
par un code du genre
Code :
1
2
3
4
5
6
7
8
9
10
11
12
# Partie du configure() d'une tâche (non testé)
$this->addOptions(
          array(
                    new sfCommandOption(
                               'posX', // Name
                               null,  // shortcut 
                               sfCommandOption::PARAMETER_REQUIRED, // type de validation, peut être PARAMETER_OPTIONAL
                               'The X position for the planet', // Aide
                               null // Valeur par défaut (null si required)
                    ),
                    ...
           );
et compléter le array des options par les autres...
__________________
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 !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h13.


 
 
 
 
Partenaires

Hébergement Web