Als «dependency-injection» getaggte Fragen

3
"Drupal-Aufrufe sollten in Klassen vermieden werden. Verwenden Sie stattdessen Dependency Injection."
In meinem Modul verwende ich den folgenden Code, um den URL-Alias ​​der angegebenen URL zu erhalten: $alias = \Drupal::service('path.alias_manager')->getPathByAlias($_POST['url']); Bei einem Modul, für das ich Automated Review ( http://pareview.sh/ ) ausführe , wird die folgende Warnung angezeigt: 16 | WARNUNG | \ Drupal-Aufrufe sollten in Klassen vermieden werden. Verwenden Sie …

1
Wie verwende ich Dependency Injection unter \ Drupal :: moduleHandler () für einen Controller?
Ich verwende die folgende Zeile in einer Controller-Klasse. \Drupal::moduleHandler()->alter('mymodule_myfunction', $plugin_items); Pareview.sh gibt mir diese Fehlermeldung. \ Drupal-Aufrufe sollten in Klassen vermieden werden. Verwenden Sie stattdessen die Abhängigkeitsinjektion. Wie soll ich das erreichen? Muss ich einen Konstruktor, eine Methode oder einen Service erstellen? Wenn ja, welchen Code sollte der Dienst benötigen? …


1
Abhängigkeitsinjektion im benutzerdefinierten Feld-Widget
Ich versuche, den Entitätsabfragedienst in ein benutzerdefiniertes Feld-Widget einzufügen. Dies ist der relevante Code: /** * Plugin implementation of the 'address_options' widget. * * @FieldWidget( * id = "address_options", * label = @Translation("Addresses"), * field_types = { * "entity_reference" * } * ) */ class MyCustomWidget extends WidgetBase { /** …

2
Wofür ist die öffentliche statische Funktion create () in Plugins gedacht?
Manchmal stoße ich auf eine öffentliche statische Funktion, die mit Argumenten in Plugin-Klassen erstellt wird. Zum Beispiel können wir hier https://www.sitepoint.com/tutorial-on-using-drupal-8-plugin-derivatives-effectively/ sehen. public static function create(ContainerInterface $container, $base_plugin_id) { return new static( $container->get('entity.manager')->getStorage('node') ); } Könnten Sie mir klarstellen, wofür die Funktion ist? Was soll es tun und wo wird …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.