En mi módulo, uso el siguiente código para obtener el alias de la URL dada:
$alias = \Drupal::service('path.alias_manager')->getPathByAlias($_POST['url']);
Pero una vez que ejecuto la Revisión automatizada ( http://pareview.sh/ ) en mi módulo, recibo la siguiente advertencia:
16 ADVERTENCIA | \ Las llamadas de Drupal deben evitarse en las clases, utilice la inyección de dependencia
¿Cómo puedo actualizar el código anterior usando la inyección de dependencia? Mi código de clase completo se da a continuación.
<?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>',
);
}
}