Доктрина-экстенсии загружаются, как использовать в Zend Framework 2?

StackOverflow https://stackoverflow.com/questions/19824595

Вопрос

Я интегрировал доктрину-эксстенсию в свой проект. TimeStable работает в качестве примера. Но как использовать «загружаемый»-поведенческое поведение?

Я прочитал это док. Анкет Они пишут в использование-части об использовании $listener, но как мне получить эту переменную? в моем контроллере или службе? Откуда это взялось?

Спасибо за совет ...

Это было полезно?

Решение

Наконец, получил это ...:

вместо:

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

использовать это: Зарегистрируйте загружаемый слушатель через 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'
    )
),

Затем в контроллере в качестве примера он работает так:

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

    // persist($entity) ...
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top