2012-06-25 15 views
6

अनुरोध Symfony2 एक ही प्रकार (एचटीएमएल, सीएसएस, json, आदि) की एक प्रतिक्रिया लौटाता के प्रारूप के आधार पर। यह बहुत सराहनीय है। लेकिन अगर मैं एक परिभाषित प्रारूप में एक टेम्पलेट बनाने के लिए और उस संदर्भ में एस्केप वर्ण निष्पादित, लेकिन अंत में पेज किसी अन्य प्रारूप में प्रदान की गई है, इस उत्पादन खतरनाक पैदा करने का जोखिम नहीं होगा?एक प्रारूप में प्रतिक्रियाओं की उम्मीद

उदाहरण: http://symfony.com/it/doc/current/book/index.html?_format=json

वहाँ अनजाने का खतरा एक संसाधन है कि हो सकती है खतरनाक उत्पादन/अप्रत्याशित बनाने है? यह जानबूझकर है? क्यूं कर?

उत्तर

6

आधिकारिक Symfony2 प्रलेखन के मामले में, मुझे लगता है कि यह जानबूझकर है। लेकिन अगर आप एक परिभाषित प्रारूप में एक टेम्पलेट बनाने के लिए और उस संदर्भ में एस्केप वर्ण निष्पादित, तो आप इस प्रकार अनुरोध अनुमति स्वरूपों को लागू करने के कर सकते हैं:

article_show: 
    pattern: /articles/{culture}/{year}/{title}.{_format} 
    defaults: { _controller: AcmeDemoBundle:Article:show, _format: html } 
    requirements: 
    culture: en|fr 
    _format: html|rss 
    year:  \d+ 

यह उदाहरण विशेष _format मार्ग पैरामीटर पर प्रकाश डाला गया। इस पैरामीटर का उपयोग करते समय, मिलान मान अनुरोध ऑब्जेक्ट का "अनुरोध प्रारूप" बन जाता है। अंत में, अनुरोध प्रारूप इस तरह प्रतिक्रिया की सामग्री प्रकार की स्थापना के रूप में ऐसी बातों के लिए प्रयोग किया जाता है (उदाहरण के लिए एक json अनुरोध प्रारूप आवेदन/json की सामग्री-प्रकार में तब्दील हो)। यह भी _format के प्रत्येक मान के लिए एक अलग टेम्पलेट रेंडर करने के लिए नियंत्रक में इस्तेमाल किया जा सकता है। _format पैरामीटर एक ही सामग्री को विभिन्न प्रारूपों में प्रस्तुत करने का एक बहुत ही शक्तिशाली तरीका है। Read more...

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