Frage

I integrated doctrine-extensions in my project. Timestampable is working as example. But how to use the "Uploadable"-behavior?

I read this doc. They're writing in the usage-part about using $listener, but how do i get this variable? in my Controller or Service? Where does it come from?

thanks for any advice...

War es hilfreich?

Lösung

Endlich, verstanden es ...:

Anstatt von:

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

benutze das: Registrieren Sie den hochladbaren Hörer über den 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'
    )
),

Dann funktioniert es im Controller als Beispiel wie folgt:

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

    // persist($entity) ...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top