प्राप्त करें मैं एक टिग टेम्पलेट से वर्तमान यूआरएल कैसे प्राप्त कर सकता हूं?ट्विग टेम्पलेट्स इंजन: वर्तमान यूआरएल
मैं बिना किसी अन्य ढांचे के PHP के साथ ट्विग का उपयोग कर रहा हूं।
प्राप्त करें मैं एक टिग टेम्पलेट से वर्तमान यूआरएल कैसे प्राप्त कर सकता हूं?ट्विग टेम्पलेट्स इंजन: वर्तमान यूआरएल
मैं बिना किसी अन्य ढांचे के PHP के साथ ट्विग का उपयोग कर रहा हूं।
वर्तमान URL
वर्तमान URL अपने वेब सर्वर द्वारा आपूर्ति और $_SERVER
सुपर वैश्विक करने के लिए लिखा है ढूँढना। इस छोटी स्क्रिप्ट को चलाएं, <?php echo '<pre>'; print_r($_SERVER);
, अपने सर्वर के माध्यम से और उस मूल्य को ढूंढने के लिए चारों ओर रूट करें जिसे आप ढूंढ रहे हैं। इस विषय पर
संबंधित प्रश्न:
The PHP manual describes the nature of the available $_SERVER
values here।
TWIG
URL मिल जाने के बाद में URL प्राप्त करना है, तो आप जब टहनी टेम्पलेट उदाहरण पर render(...)
बुला एक टेम्पलेट चर के रूप में इसे पारित करने की जरूरत है। उदाहरण के लिए, आप इसे कोड कर सकते हैं।
$current_url = // figure out what the current url is
// pass the current URL as a variable to the template
echo $template->render(array('current_url' => $current_url));
टेम्पलेट में चर का उपयोग करने के लिए आपको {{ variable_name }}
सिंटैक्स का उपयोग करें।
मुझे आश्चर्य है कि क्या Twig से यूआरएल प्राप्त करने के लिए कोई आंतरिक उपकरण (चर ओटी विधि) है? – nKognito
आपको इस उद्देश्य के लिए पहले से ही लिखा गया कुछ कोड मिल सकता है, लेकिन वर्तमान यूआरएल को पुनर्प्राप्त करना एक टेम्पलेट इंजन के दायरे में नहीं है, इसलिए मुझे संदेह है कि टिग में कुछ भी बनाया गया है। मुझे निश्चित रूप से कुछ भी नहीं मिला। – erisco
यहां कुछ ऐसा जो मुझे स्लीक्स फ्रेमवर्क के साथ सामान्य बनाने के लिए मिला है। मुझे लगता है कि मेरा समाधान सही नहीं है लेकिन यह काम पूरा हो गया है।
अपने PHP कोड मेंइस कोड जोड़ें:
$app = new Silex\Application();
// add the current url to the app object.
$app['current_url'] = $_SERVER['REQUEST_URI'];
फिर अपने टहनी टेम्पलेट में आप कर सकते हैं
{{ app.current_url }}
मुझे पता है इस विधि के botom लाइन है क्या करते हैं।
Silex में निम्नलिखित काम करता है और Symfony2 में सबसे निश्चित रूप से वे अनुरोध वर्ग का हिस्सा के रूप में (मैं हालांकि परीक्षण नहीं किया है):
{{ app.request.getRequestUri() }}
'{{app.request.requestUri}}' – eightyfive
इससे भी बेहतर, हाँ। – neemzy
इसे बहिष्कृत किया गया है, किसी को इसका उपयोग नहीं करना चाहिए। https://github.com/silexphp/Silex/issues/1257#issuecomment-141058724 – Tieme
जाओ http://api.symfony.com/2.3/Symfony/Component/HttpFoundation/Request.html
या: पूर्ण उरी के लिए {{ app.request.getUri() }}
।
दिमाग में सर्वोत्तम अभ्यास रखना, इस समय आपको Symfony\Component\HttpFoundation\RequestStack
का उपयोग करना चाहिए।
http://symfony.com/blog/new-in-symfony-2-4-the-request-stack देखें।
Symfony 2.4 के रूप में, सबसे अच्छा अभ्यास अनुरोध सेवा इंजेक्षन कभी नहीं करने के लिए, लेकिन इसके बजाय request_stack सेवा इंजेक्षन करने के लिए है [...]
तो एक Silex आवेदन में इसके साथ प्राप्त किया जा सकता :
app.request_stack.getCurrentRequest.getUri
क्यों वर्तमान यूआरएल टेम्पलेट चर के रूप में पास नहीं है? या आप एक टेम्पलेट टैग लिख सकते हैं जो यूआरएल आउटपुट करता है। –