Ergebnis 1 bis 3 von 3

Thema: Zufgriff von contao/dca/tl_content.php auf src/Service/RlService.php über System::get

  1. #1
    Contao-Nutzer
    Registriert seit
    14.02.2013.
    Beiträge
    32

    Standard Zufgriff von contao/dca/tl_content.php auf src/Service/RlService.php über System::get

    Hallo,

    wie kann ich von einer Klasse (class tl_content_rl extends Backend) in contao/dca/tl_content.php auf z.B ein Service
    src/Service/RlService.php zugreifen.


    PHP-Code:
    public function __construct()
        {
            
    parent::__construct();
            
    $this->rls =  System::getContainer()->get(RlService::class);
        } 

    Ich bekomme leider immer den Fehler

    Code:
    The "App\Service\RlService" service or alias has been removed or inlined when the container was compiled. You should either make it public, or stop using the container directly and use dependency injection instead.
    Dependency Injection über den Konstruktor geht in contao/dca/tl_content.php leider auch nicht, ansonsten kann ich RLService über DI verwenden, z.B: in Contao Modulen oder Content Elementen.

    Ich habe den Service auch schon in config/services.yaml
    Code:
    services:
      _defaults:
        autowire: true     # Automatically injects dependencies in your services.
        autoconfigure: true # Automatically registers your services as controllers, event subscribers, etc. TODO disable this for performance reasons
    
      App\:
        resource: ../src
    
      App\Controller\:
        resource: ../src/Controller
        tags: ['controller.service_arguments'] # Automatically injects dependencies in your controllers.
    
      App\Service\RlService:
        public: true
    oder

    Code:
    services:
      _defaults:
        autowire: true     # Automatically injects dependencies in your services.
        autoconfigure: true # Automatically registers your services as controllers, event subscribers, etc. TODO disable this for performance reasons
        public: true
       
      App\:
        resource: ../src
    
      App\Controller\:
        resource: ../src/Controller
        tags: ['controller.service_arguments'] # Automatically injects dependencies in your controllers.
    auf public stellen probiert, geht auch nicht.

    Bitte um Hilfe, danke

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.111
    Partner-ID
    10107

    Standard

    In einer DCA Datei eine Klasse anzulegen um so einen Callback zu implementieren ist veraltet. Registriere deinen Callback als echten Service: https://docs.contao.org/dev/framewor...ring-callbacks
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    14.02.2013.
    Beiträge
    32

    Standard

    Vielen Dank!

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
  •