2017-10-06 22 views
5

मैं एक और कंपनी द्वारा कार्यान्वित एक Symfony 2 एप्लिकेशन पर काम कर रहा हूँ और निम्न सेवा परिभाषा में आए:Symfony सेवा इंजेक्शन वाक्य रचना

service_id: 
    class: 'path\to\class' 
    calls: 
     - [setRequest, ['@?request=']] 

मुझे पता है कि @?request= साधन में प्रश्न चिह्न (यदि सेवा मौजूद नहीं है , setRequest बुलाया नहीं जाता है), लेकिन माध्य के अंत में बराबर चिह्न क्या है?

धन्यवाद!

+0

बराबर के चिह्न यहाँ भी भाव के आधार पर मान सुई, इस उपयोग का एक उदाहरण के लिए इस्तेमाल किया जा सकता है: https://symfony.com /doc/current/service_container/expression_language.html – teeyo

+0

@teeyo लेकिन इस तरह उपयोग नहीं किया गया ... – medowlock

+0

हाँ, मैं बस इतना कह रहा हूं कि इसका उपयोग इस तरह किया जा सकता है, क्योंकि आपके मामले @prehfeldt aleady ने उत्तर दिया :) – teeyo

उत्तर

6

कंटेनर को दायरे के उल्लंघनों को अनदेखा करने के लिए बराबर चिह्न का उपयोग किया गया था। request एक विशेष दायरे में है और कंटेनर एक अपवाद फेंकता है यदि आप इसे एक अलग दायरे में उपयोग करते हैं।

एसएफ 2.8 में स्कॉप्स को बहिष्कृत कर दिया गया और एसएफ 3.0 में हटा दिया गया। , https://symfony.com/doc/2.8/service_container/scopes.html

भी देखें Symfony 2.4 के रूप में आप का उपयोग करना चाहिए request_stack: http://symfony.com/blog/new-in-symfony-2-4-the-request-stack

संबंधित मुद्दे