অনুরোধের বস্তুটিতে সরাসরি এইভাবে অ্যাক্সেস সম্পর্কে কিছু সতর্কতা রয়েছে \Drupal::request
:
* Note: The use of this wrapper in particular is especially discouraged. Most
* code should not need to access the request directly. Doing so means it
* will only function when handling an HTTP request, and will require special
* modification or wrapping when run from a command line tool, from certain
* queue processors, or from automated tests.
*
* If code must access the request, it is considerably better to register
* an object with the Service Container and give it a setRequest() method
* that is configured to run when the service is created. That way, the
* correct request object can always be provided by the container and the
* service can still be unit tested.
যে কোনও ফর্ম নিয়ামক \Drupal\Core\Form\FormBase
স্বয়ংক্রিয়ভাবে প্রসারিত হ'ল এই নির্ভরতা ইনজেকশন রয়েছে এবং এটি ব্যবহার করে অ্যাক্সেস করা যেতে পারে:
$this->getRequest()->getSchemeAndHttpHost()
আমি মনে করি (তবে পরীক্ষিত হয়নি) যে নিয়মিত পৃষ্ঠা নিয়ামক প্রসারিত ফাংশনটি ওভাররাইড করে এবং তারপরে কনস্ট্রাক্টরে একটি সম্পত্তি সেট \Drupal\Core\Controller\ControllerBase
করে request_stack
পরিষেবা সরবরাহ করতে পারে । এটি ফর্মগুলির জন্য সত্যই ভালভাবে বর্ণনা করা হয়েছে, এবং একই প্রক্রিয়াটি পৃষ্ঠা নিয়ন্ত্রকদের জন্য প্রয়োগ করা উচিত: https://www.drupal.org/docs/8/api/services-and-d dependency- inication/ d dependency-inication-for-a- a- ফর্ম ।\Drupal\Core\Controller\ControllerBase::create
$request