आर्किटेक्चर और request · प्रश्न 10 / 12

एक middleware $request->withAttribute('myext.region', $region) कॉल करता है और फिर return $handler->handle($request)। controller में attribute गायब है। गलती क्या है?

1 उत्तर सही है। मध्यम

उत्तर दिखाएँ

उत्तर

  • C withAttribute() एक नया request लौटाता है; $request = $request->withAttribute(...) के बिना अपरिवर्तित request आगे पास होता है

व्याख्या

PSR-7 requests immutable होते हैं: हर with*() मेथड एक संशोधित copy लौटाता है और मूल को अछूता छोड़ता है। यदि परिणाम assign नहीं किया जाता, तो पुराना request अगले handler को पास होता है और attribute खो जाता है। सही code $request = $request->withAttribute('myext.region', $region); है; इसके बाद सभी आगे के middlewares और controller attribute देखते हैं। attributes का कोई पंजीकरण नहीं होता, और नाम में dots आम हैं, Core उदाहरण के लिए frontend.user का उपयोग करता है।

सर्टिफ़िकेशन और परीक्षाएँ

अगली परीक्षा कौन-सी होगी?

आप 19 परीक्षाओं का अभ्यास पहले से कर सकते हैं, 21 पर वोटिंग चल रही है। सभी सर्टिफ़िकेशन आधिकारिक जानकारी के साथ देखें, वोट करें या अपनी परीक्षा सुझाएँ।

सभी सर्टिफ़िकेशन देखें