2

parameters.yml からではなく、データベースから Amazon S3 設定を設定したい

symfony2 がサービスを呼び出す前にデータベース (ドクトリン) パラメータを使用する方法について、誰かが正しい方向に向けることができますか?

#app/config/config.yml

services:
    acme.aws_s3.client:
        class: Aws\S3\S3Client
        factory_class: Aws\S3\S3Client
        factory_method: 'factory'
        arguments:
            -
                key: %amazon_s3.key%
                secret: %amazon_s3.secret%

# knp_gaufrette
knp_gaufrette:
    adapters:
        profile_photos:
            aws_s3:
                service_id: 'acme.aws_s3.client'
                bucket_name: 'myBucket'
                options:
                    directory: 'myDirectory'   
                    acl: 'public-read'
4

1 に答える 1

1

サービス構成には独自のサービス ファクトリを使用acme.aws_s3.clientします。

services:
    acme.aws_s3.client:
        class: Aws\S3\S3Client
        factory_class: My\S3ClientFactory
        factory_method: createClient
        arguments: [ @settings_repository ] 

@settings_repository- db にアクセスできるサービス。例えば、ドクトリン エンティティ リポジトリ、またはオブジェクト マネージャ全体。

My\S3ClientFactory::createClientAws\S3\S3Client::factory- db からパラメーターを取得することを除いて、ネイティブとほとんど同じです。

これが役立つことを願っています。

于 2015-03-29T20:19:34.687 に答える