質問

私はプロジェクトに教義と拡張を統合しました。タイムスタンプラブルは例として機能しています。しかし、「アップロード可能」 - ビハビアを使用する方法は?

私はこれを読みました doc. 。彼らは書いています 使用パート 使用について $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