2017-05-21 4 views
0

Ich habe versucht, ein CDN (S3) zu konfigurieren, um mit LiipImagineBundle zu arbeiten, aber bleibe stecken, wenn es nach einem nicht existierenden Dienst fragt.Konfigurieren von LiipImagineBundle Symfony zum Arbeiten mit Flysystem

Was bedeutet das?

Der Wert der Eigenschaft filesystem_service muss ein Dienst sein, der eine Instanz von League \ Flysystem \ Filesystem zurückgibt.

Von hier aus: http://symfony.com/doc/current/bundles/LiipImagineBundle/cache-resolver/flysystem.html

und hier: http://symfony.com/doc/current/bundles/LiipImagineBundle/data-loader/flysystem.html

Ich habe versucht, einen Dienst zu erstellen, die eine Instanz der Liga \ Flysystem \ Filesystem zurückgibt, wie folgt:

league.flysystem.s3adaptor: 
    class: League\Flysystem\AwsS3v3\AwsS3Adapter 
    arguments: ['@acme.s3_client', '%amazon.s3.bucket%', 's3_fs', '@?'] 

league.flysystem.filesystem: 
    class: League\Flysystem\Filesystem 
    arguments: ['@league.flysystem.s3adaptor', '@?'] 
    calls: 
     - [addPlugin, ['@oneup_flysystem.plugin.list_with']] 

I bin mir nicht sicher, ob das in der richtigen Richtung ist oder nicht, aber ich kann das nicht funktionieren.

Jede Hilfe oder Beratung wird sehr geschätzt.

Antwort

0

Ich war auf der richtigen Linie, ich hatte gerade meinen LiipImagineBundle falsch konfiguriert.

Um eine Instanz von League \ Flysystem \ Filesystem zurückzugeben, müssen Sie zunächst einen Dienst für den zu verwendenden Adapter erstellen, in diesem Fall lege.flysystem.s3adaptor dies. Übergeben Sie das dann als Argument an liga.flysystem.filesystem.

league.flysystem.s3adaptor: 
    class: League\Flysystem\AwsS3v3\AwsS3Adapter 
    arguments: ['@acme.s3_client', '%amazon.s3.bucket%'] 

league.flysystem.filesystem: 
    class: League\Flysystem\Filesystem 
    arguments: ['@league.flysystem.s3adaptor'] 
    calls: 
     - [addPlugin, ['@oneup_flysystem.plugin.list_with']] 

LiipImagineBundle config:

liip_imagine: 
    resolvers: 
      profile_photos: 
       flysystem: 
        filesystem_service: league.flysystem.filesystem 
        root_url:   "https://s3.eu-west-2.amazonaws.com/nameofthebucket/" 
        cache_prefix:  media/cache 
        visibility:   public 
    loaders: 
     profile_photos: 
      flysystem: 
       filesystem_service: league.flysystem.filesystem 
    data_loader: profile_photos 
    cache: profile_photos 
Verwandte Themen