আমার মডিউলে প্রদত্ত ইউআরএলটির ইউআরএল নাম পাওয়ার জন্য নীচের কোডটি ব্যবহার করে:
$alias = \Drupal::service('path.alias_manager')->getPathByAlias($_POST['url']);
তবে আমি আমার মডিউলে স্বয়ংক্রিয় পর্যালোচনা ( http://pareview.sh/ ) চালাচ্ছি আমি সতর্কতার নীচে যাচ্ছি:
16 | সতর্কতা | Classes ক্লাসে ড্রুপাল কল এড়ানো উচিত, পরিবর্তে নির্ভরতা ইনজেকশন ব্যবহার করুন
নির্ভরতা ইঞ্জেকশন ব্যবহার করে আমি কীভাবে উপরের কোডটি আপডেট করতে পারি? আমার পুরো ক্লাস কোডটি নীচে দেওয়া হল।
<?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>',
);
}
}