2012-03-06 9 views

Respuesta

15

Si está buscando here, en la parte inferior hay un ejemplo de cómo ejecutar un comando desde el código de Symfony.

Tenga en cuenta también la nota al final que dice que podría no ser una buena idea usar un comando dentro de su código.

Como dije, el siguiente código se debe utilizar con cuidado. No lo usaría por las razones indicadas en el documento de Symfony, pero funciona.

Cuando se utiliza el siguiente código dentro de su controlador, que son capaces de ejecutar un comando:

$kernel = $this->get('kernel'); 
$application = new \Symfony\Bundle\FrameworkBundle\Console\Application($kernel); 
$application->setAutoExit(false); 

$options = array('command' => 'list'); 
$application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); 

Si necesita la salida, usted tiene que o bien utilizar una clase existente implementar OutputInterface o crear su propia función de tus necesidades.

+0

El post referer a ejecutar un comando dentro de otro comando – JERC

+0

@JERC se refiere a no usar un comando dentro del código que no se ejecuta en la línea de comando. Si tiene intención de llamar desde su aplicación, considere refaccionar el código a una clase/servicio separado y luego ajuste su código en consecuencia. – richsage

+0

Es cierto, pero puede modificarlo para usarlo en un controlador. ¡Actualizaré mi respuesta! – Sgoettschkes

11

Gracias a cada uno,

he utilizado este código

  $kernel = $this->get('kernel'); 
      $application = new \Symfony\Bundle\FrameworkBundle\Console\Application($kernel); 
      $application->setAutoExit(false); 
      //Create de Schema 
      $options = array('command' => 'doctrine:schema:update',"--force" => true); 
      $application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); 
      //Loading Fixtures 
      $options = array('command' => 'doctrine:fixtures:load',"--append" => true); 
      $application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); 

y en este link, hay cierta información tal vez será útil para otros

, gracias !!!

+0

¿Alguna idea sobre cómo hacer que las entidades sean reconocibles sin la necesidad de borrar el caché? – overlox

Cuestiones relacionadas