주어진 URL의 URL 별칭을 얻기 위해 아래 코드를 사용하는 내 모듈에서 :
$alias = \Drupal::service('path.alias_manager')->getPathByAlias($_POST['url']);
그러나 내 모듈에서 자동 검토 ( http://pareview.sh/ )를 실행하면 경고가 아래에 표시됩니다.
16 | 경고 | \ Drupal 호출은 클래스에서 피해야합니다. 대신 의존성 주입을 사용하십시오.
의존성 주입을 사용하여 위의 코드를 어떻게 업데이트합니까? 전체 수업 코드는 다음과 같습니다.
<?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>',
);
}
}