Contao-Camp 2024
Ergebnis 1 bis 2 von 2

Thema: Inject Symfony-Bundle als Service in Contao Managed Edition

  1. #1
    Contao-Nutzer
    Registriert seit
    17.12.2020.
    Beiträge
    11

    Frage Inject Symfony-Bundle als Service in Contao Managed Edition

    Hallo zusammen,

    ich habe eine Contao Managed Edition 4.10.5 laufen. Über eine eigene Extension erzeuge ich noch eine XML für einen Google Shopping Feed. Alles soweit gut.
    Nun möchte ich für das Schreiben aufs Filesystem league/flysystem-bundle nutzen.

    Das Problem ist, dass wenn ich das FilesystemInterface injecte (wie hier beschrieben)

    PHP-Code:
    use League\Flysystem\FilesystemInterface;

    class 
    Feed
    {
        private 
    FilesystemInterface $feedStorage;

        public function 
    __construct(FilesystemInterface $defaultStorage)
        {
            
    //$this->feedStorage = $defaultStorage;
        
    }

    immer die Fehlermeldung "argument "$defaultStorage" of method "__construct()" references interface "League\Flysystem\FilesystemInter
    face" but no such service exists. Did you create a class that implements this interface?"
    bekomme.

    Aktuell lade ich das Flysystem-Bundle in meiner eigenen Extension in der Contao/Plugin.php Datei:

    PHP-Code:
    class Plugin implements BundlePluginInterface
    {
        
    /**
         * @param ParserInterface $parser
         * @return array
         */
        
    public function getBundles(ParserInterface $parser): array
        {
            return [
                
    BundleConfig::create(FlysystemBundle::class),
                
    BundleConfig::create(GoogleShoppingFeedBundle::class)
                            ->
    setLoadAfter([
                                
    ContaoCoreBundle::class,
                                
    ContaoNewsBundle::class,
                                
    FlysystemBundle::class,
                            ]),
            ];
        }

    jedoch scheinen alle services, die das Bundle normalerweise registriert, bei Contao nicht geladen/registriert zu werden. Wenn ich
    HTML-Code:
    $ ./vendor/bin/contao-console debug:container
    laufen lasse, kann ich jedenfalls keinen Service des FlysystemBundle finden.

    Irgendeine Idee, wie ich das FlysystemBundle anders registriere bzw. Contao Managed Edition sagen kann, dass es die Services registrieren soll?
    Geändert von cedge (18.12.2020 um 09:12 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    17.12.2020.
    Beiträge
    11

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •