Symfony2 + AmazonS3 + KnpGaufretteBundle 如何从数据库设置密钥和秘密



我想从数据库而不是参数中设置AmazonS3设置。yml

有人能告诉我在symfony2调用服务之前如何使用数据库(条令)参数的正确方向吗。

#app/config/config.yml
services:
    acme.aws_s3.client:
        class: AwsS3S3Client
        factory_class: AwsS3S3Client
        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'

使用您自己的服务工厂进行acme.aws_s3.client服务配置。

services:
    acme.aws_s3.client:
        class: AwsS3S3Client
        factory_class: MyS3ClientFactory
        factory_method: createClient
        arguments: [ @settings_repository ] 

@settings_repository-任何可以访问数据库的服务。例如条令实体库或整个对象管理器。

MyS3ClientFactory::createClient-与本机AwsS3S3Client::factory几乎相同,只是它将从数据库中获取params。

希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新