लुमेन: एक ब्लेड दृश्य में URL पैरामीटर प्राप्त करें


84

मैं एक व्यू फ़ाइल से एक url पैरामीटर प्राप्त करने की कोशिश कर रहा हूं।

मेरे पास यह url है:

http://locahost:8000/example?a=10

और एक दृश्य फ़ाइल का नाम example.blade.php

नियंत्रक से मैं पैरामीटर प्राप्त कर सकते हैं aके साथ $request->input('a')

क्या दृश्य से ऐसे पैरामीटर प्राप्त करने का एक तरीका है (इसे नियंत्रक से दृश्य में पास किए बिना)?


आप $_GET[]सरणी तक पहुँच सकते हैं , लेकिन मैं ऐसा करने की सलाह नहीं दूंगा। आपको इसे नियंत्रक से दृश्य में पारित करना चाहिए, यह सुनिश्चित नहीं करना चाहिए कि आप क्यों नहीं चाहते हैं।
टिम लुईस

@TimLewis मैं इसे कंट्रोलर से पास करने से बचूँगा क्योंकि अगर मेरे पास बहुत सारे पैरामीटर हैं तो यह कष्टप्रद हो सकता है, और इसे सीधे देखने के लिए इसे प्राप्त करने का एक और तरीका होना चाहिए।
एंड्रिया

मुझे लगता है कि यह नियंत्रक से दृश्य तक बहुत सारे चर को परिभाषित करने और पारित करने के लिए थकाऊ हो सकता है, लेकिन मैं किसी भी दिन बुरी प्रथाओं पर थकाऊ होगा ...
टिम लुईस

इस कारण के बारे में सोचें कि आप $ अनुरोध को सीधे देखने की अनुमति क्यों नहीं दे सकते हैं, इसलिए भी कि $ _GET, $ _ POST, $ _ REQUEST को सीधे
एक्सेस

@mvladk सच, वास्तव में। चौखटे इन चरों से संभावित ख़राब डेटा को हटाते हैं।
भार्गव नानकेलवा

जवाबों:


110

यह अच्छी तरह से काम करता है:

{{ app('request')->input('a') }}

aUrl पैरामीटर कहाँ है।

यहाँ और देखें: http://blog.netgloo.com/2015/07/17/lumen-getting-current-url-parameter-within-a-blade-view/


यह सभी पैरामेट्सapp('request')->request->all()
dav

अगर मेरा URL लोकोहास्ट की तरह हो तो क्या होगा : 8000 / उदाहरण / 10 और मुझे 10 मूल्य मिलेंगे। @Andrea
Sajeeb Ahamed

@SajeebAhamed बेहतर है कि आप इसे एक नए प्रश्न के रूप में पूछें: stackoverflow.com/questions/ask
एंड्रिया


25

आपके URL को देखते हुए:

http://locahost:8000/example?a=10

सबसे अच्छा तरीका है कि मैंने 'a' के लिए मान प्राप्त किया है और इसे पृष्ठ पर प्रदर्शित करना निम्न का उपयोग करना है:

{{ request()->get('a') }}

हालाँकि, यदि आप इसे एक if स्टेटमेंट के भीतर उपयोग करना चाहते हैं, तो आप उपयोग कर सकते हैं:

@if( request()->get('a') )
    <script>console.log('hello')</script>
@endif

आशा है कि किसी की मदद करता है! :)



9

यह मेरे लिए ठीक काम करता है:

{{ app('request')->input('a') }}

पूर्व: ब्लेड दृश्य पर पृष्ठांकन परम पाने के लिए:

{{ app('request')->input('page') }}


7

आप सार्वजनिक रूप Inputसे एक उपनाम के माध्यम से मुखौटा को उजागर कर सकते हैं config/app.php:

'aliases' => [
    ...

    'Input' => Illuminate\Support\Facades\Input::class,
]

और $_GETसीधे ब्लेड दृश्य / टेम्पलेट के अंदर मुखौटा का उपयोग करके url पैरामीटर मानों का उपयोग करें:

{{ Input::get('a') }}

Lumen में / config फोल्डर है?
माहे

7

आधिकारिक तौर पर 5.8 डॉक्स के अनुसार :

अनुरोध () फ़ंक्शन वर्तमान अनुरोध आवृत्ति लौटाता है या इनपुट आइटम प्राप्त करता है:

$request = request();

$value = request('key', $default);

डॉक्स



1

यदि आप मार्ग का उपयोग करते हैं और पैरामैटर अपनी ब्लेड फ़ाइल में इस कोड का उपयोग करते हैं

{{dd(request()->route()->parameters)}}

0

आधिकारिक दस्तावेज के अनुसार 8.x

हम सहायक का उपयोग करते हैं request

अनुरोध फ़ंक्शन वर्तमान अनुरोध आवृत्ति लौटाता है या वर्तमान अनुरोध से इनपुट फ़ील्ड का मान प्राप्त करता है:

$request = request();

$value = request('key', $default);

अनुरोध का मूल्य एक सरणी है जिसका आप अनुसरण के रूप में बस इनपुट कुंजी का उपयोग करके अपने इनपुट को पुनः प्राप्त कर सकते हैं

$id = request()->id; //for http://locahost:8000/example?id=10
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.