Dans mon module, utilisez le code ci-dessous pour obtenir l'alias d'URL d'une URL donnée:
$alias = \Drupal::service('path.alias_manager')->getPathByAlias($_POST['url']);Mais celui que j'exécute Automated Review ( http://pareview.sh/ ) dans mon module, je reçois ci-dessous l'avertissement:
16 | AVERTISSEMENT | \ Les appels Drupal doivent être évités dans les classes, utilisez plutôt l'injection de dépendances
Comment puis-je mettre à jour le code ci-dessus en utilisant l'injection de dépendance? Mon code de classe entier est donné ci-dessous.
<?php
namespace Drupal\my_module\Controller;
use Drupal\Core\Controller\ControllerBase;
/**
 * MyModule Class defines ajax callback function.
 */
class MyModule extends ControllerBase {
/**
 * Callback function for ajax request.
 */
  public function getUserContent() {
    $alias = \Drupal::service('path.alias_manager')->getPathByAlias($_POST['url']);
    $alias = explode('/', $alias);
    $my_module_views = views_embed_view('my_module', 'default', $alias[2]);
    $my_module= drupal_render($my_module_views);
    return array(
      '#name' => 'my_module_content',
      '#markup' => '<div class="my_module_content">' . $my_module. '</div>',
    );
  }
}