10
votes

Création et utilisation des commandes Laravel 4

Edit: J'ai compris où j'allais mal et j'ai placé une réponse à la fin

J'essaie de créer une commande Laravel, je peux voir que cela changeait considérablement de "tâches" à Laravel 3. Cependant, je peux " Il semble que cela fonctionne. Ce sont les étapes que j'ai prises:

Commande PHP Artisan: Make Import

retourne

commande créée avec succès

Le fichier dans le répertoire des commandes est ensuite créé et j'ai légèrement modifié pour renvoyer "Hello World" comme SO:

xxx

Cependant, lorsque j'essaie d'exécuter la commande comme:

PHP ARTISAN IMPORT

Je reçois l'erreur suivante:

[InvalidargumentException] Commande "Importation" n'est pas définie.

Je l'ai essayé avec et sans capitales, aussi bien que "importcommand" puisque la documentation nomme son commandement "FOOCOMMAND" mais sans chance.

Toute aide serait la plus appréciée .


0 commentaires

4 Réponses :


17
votes

effectivement compris cela. Plus loin dans la documentation, il stipule que vous devez enregistrer votre commande dans "App / start / Artisan.php" à l'aide de la méthode suivante:

php artisan command:import


1 commentaires

Je n'arrive pas à le faire marcher. Avez-vous besoin de résoudre le cas de "importer"?



7
votes

Essayez ceci.

./artisan command:import; 


1 commentaires

Cela a fonctionné pour moi. Laravel a automatiquement inséré un argument par défaut dans la méthode GetArguments



0
votes

Il y a une mauvaise compréhension des commandes artisanales à cause du libellé utilisé.

Dans votre cas, vous choisissez: 'Commande: Importer' comme nom d'une de vos commandes "Imports".

Pensez-y comme un objet, avec des méthodes.

Si "Import" a de nombreuses commandes:

Vous pouvez utiliser comme nom de commande> protégé $ nom = 'Importer: CSV';

Une autre commande serait> protégée $ NAME = 'Import: txt';

et> Protégé $ Nom = 'Importer: les contacts';

Donc, vos commandes avec "importation" nature sont mieux organisées.

et lorsque vous demandez, vous voyez vos commandes organisées comme une seule entité.

sinon,

Et vous n'avez qu'une seule commande, donnez à votre commande un seul nom clair. Protégé $ Nom = 'Importer';


0 commentaires

2
votes

Dans les nouvelles versions de Laravel, il n'y a pas une commande importation . Vous devez juste faire les deux choses suivantes:

  1. Enregistrez votre commande dans App / Start / Artisan.php : XXX

  2. exécutez la commande à Artisan: XXX


0 commentaires