Prima di tutto: Le corrispondenti viste scheletro si trovano qui:
vendor/bundles/Sensio/Bundle/GeneratorBundle/Resources/skeleton/crud
rapido e sporco si dovrebbe andare bene sovrascrivendo i file vista - ma non è quello che abbiamo vogliamo;)
In:
vendor/bundles/Sensio/Bundle/GeneratorBundle/Command/GenerateDoctrineCrudCommand.php
c'è una funzione di accesso per il generatore:
protected function getGenerator()
{
if (null === $this->generator) {
$this->generator = new DoctrineCrudGenerator($this->getContainer()->get('filesystem'), __DIR__.'/../Resources/skeleton/crud');
}
return $this->generator;
}
Si può provare a sovrascrivere questo metodo nel pacchetto esteso e impostare un diverso $skeletonDir
nel costruttore.
Edit:
esempio veloce nel mio ambiente di prova come può essere raggiunto (Ho solo fatto un test rapido;):
generare un nuovo bundle per il generatore personalizzato: php app/console generate:bundle
e seguire la Istruzioni. Un percorso non è necessario. Ho scelto per questo esempio: Acme/CrudGeneratorBundle (o utilizzare un pacchetto esistente)
Creare una cartella denominata "Comando" nella nuova directory del gruppo.
Inserire una classe di comando in questa cartella.
<?php
//src/Acme/CrudGeneratorBundle/Command/MyDoctrineCrudCommand.php
namespace Acme\CrudGeneratorBundle\Command;
use Sensio\Bundle\GeneratorBundle\Generator\DoctrineCrudGenerator;
class MyDoctrineCrudCommand extends \Sensio\Bundle\GeneratorBundle\Command\GenerateDoctrineCrudCommand
{
protected function configure()
{
parent::configure();
$this->setName('mydoctrine:generate:crud');
}
protected function getGenerator()
{
$generator = new DoctrineCrudGenerator($this->getContainer()->get('filesystem'), __DIR__.'/../Resources/skeleton/crud');
$this->setGenerator($generator);
return parent::getGenerator();
}
}
Copiare il fornitore/fasci/Sensio/Bundle/GeneratorBundle/Resources/scheletro/CRUD alle risorse (nel mio esempio "src/Acme/CrudGeneratorBundle/Resources/crud")
Sicuramente non voglio fare il trucco veloce e sporco! Ma ho provato a sovrascrivere la funzione getGenerator e questo ancora non funziona –
Ho aggiornato la risposta con un esempio su come ho funzionato. Ancora - questo è un hack. – madflow