symfony creando comandos command

Se guardan en la carpeta Command del bundle.

Extienden de Command...pero comunmente van a extender de ContainerAwareCommand ya que asi tenemos acceso al container y asi llamar a servicios.

Implementan 2 métodos:
-configure, donde se setea el nombre del comando, descripccion y un help
-execute(input,output), aqui se programa el comportamiento del comando el cual tiene como parámetros de entrada(input) y salida/escritura(output) por consola.

el siguiente comando lo llamarias asi:

php app/console test:importLaboratories

<?php
namespace Test\MainBundle\Command;

use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

class ImportLaboratoriesCommand extends ContainerAwareCommand
{
protected function configure()
{
$this
// the name of the command (the part after "app/console")
->setName('test:importLaboratories')

// the short description shown while running "php app/console list"
->setDescription('Importa los laboratorios a nuestra tabla Laboratory.')

// the full command description shown when running the command with
// the "--help" option
->setHelp(<<<EOT
El comando <info>test:importLaboratories</info> Importa los laboratorios de a nuestra tabla Laboratory.
EOT
);
}

protected function execute(InputInterface $input, OutputInterface $output)
{
    // outputs multiple lines to the console (adding "\n" at the end of each line)
    $output->writeln([
        'Importer Laboratories',
        '============',
        '',
    ]);

    // outputs a message followed by a "\n"
    $output->writeln('Whoa!');

    // outputs a message without adding a "\n" at the end of the line
    $output->write('You are about to ');
    $output->write('import laboratories.');
}
}



No hay comentarios:

Publicar un comentario

linux ubuntu mint actualizar chrome

 desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable