我想从数据库设置Amazon S3设置,而不是从parameters.yml
设置在symfony2调用服务之前,有人能指出我如何使用数据库(doctrine)参数的正确方向。
#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'
答案 0 :(得分: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的服务。例如。 doctrine实体repositry,或整个对象管理器。
My\S3ClientFactory::createClient
- 与本地Aws\S3\S3Client::factory
几乎相同,只是它需要db中的参数。
希望这有用。