Pergunta

Integrassei as extensões de doutrina no meu projeto. Timestampable está funcionando como exemplo. Mas como usar o "carregável" -Behavior?

Eu li isso Doc. Eles estão escrevendo no uso de uso sobre usar $listener, mas como faço para obter essa variável? no meu controlador ou serviço? De onde isso vem?

Obrigado por qualquer conselho ...

Foi útil?

Solução

Finalmente, entendi ...:

ao invés de:

'doctrine' => array(
    'eventmanager' => array(
        'orm_default' => array(
            'subscribers' => array(
                'Gedmo\Uploadable\UploadableListener',
                //...
            ),
        ),
    ),
   'driver' => array(
        // ...
    ),
),

usa isto: Registre o ouvinte carregável através do ServiceManager:

    'doctrine' => array(
    'eventmanager' => array(
        'orm_default' => array(
            'subscribers' => array(
                'doctrine_extensions.uploadable',
                //...
            ),
        ),
    ),
   'driver' => array(
        // ...
    ),
),
'service_manager' => array(
    'invokables' => array(
        'doctrine_extensions.uploadable'    => 'Gedmo\Uploadable\UploadableListener'
    )
),

Então, no controlador como exemplo, ele funciona assim:

$uploadManager = $this->getServiceLocator()->get('doctrine_extensions.uploadable');
foreach($this->getRequest()->getFiles()->toArray() as $file) {
    $entity = new MyEntity();
    $uploadManager->addEntityFileInfo($entity, $file);

    // persist($entity) ...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top