मैं सिम्फनी 2.3 का उपयोग कर रहा हूं और मेरे प्रोफाइलर में ट्विग से संबंधित डेप्रिसिएशन चेतावनी है। जैसे कि:
DEPRECATION - Using "replace" with character by character replacement is deprecated
and will be removed in Twig 2.0
और |replace
टैग अभी भी Twig प्रलेखन का हिस्सा लगता है, इसलिए मैं इस चेतावनी से कैसे निपटूं, इस पर थोड़ा भ्रमित हूं।
इसके अलावा, मुझे तीसरे पक्ष के बंडलों से भी इसी तरह की डेप्रिसिएशन चेतावनी मिलती है जो मैं उपयोग करता हूं।
- क्या इसे ठीक करने का एक आसान तरीका है?
- अगर मैं 2.3 से 2.7 में अपग्रेड करता हूं, तो क्या यह एक समस्या है?
2 जवाब
टहनी में फ़ंक्शन को बदलने के लिए आपको तर्क पास करने का तरीका बदलना होगा:
- इससे पहले: {{str | बदलें ('ए', 'बी')}}
- अब: {{str | बदलें ({'a': 'b'})}}
पहले यह दो तर्क था, अब यह एक सरणी है।
आप कोड स्रोत में देख सकते हैं कि यह प्रतिस्थापित नहीं है twig_replace_filter फ़ंक्शन wich पदावनत है लेकिन इसे कॉल करने का केवल एक तरीका है: https://github.com/twigphp/Twig/blob/1.x/lib/Twig/Extension/Core.php#L534
ध्यान दें कि टहनी डॉक्टर सही उदाहरण प्रदर्शित करते हैं: http://twig.sensiolabs.org/doc/filters/replace.html
वास्तव में, इसे ठीक करने का एकमात्र तरीका यह है कि आपके सभी पदावनत कार्यों को बदल दिया जाए।
लेकिन इससे परेशानी तभी होनी चाहिए जब आप अपनी टहनी के बंडल को अपग्रेड करें:
यदि आपके
composer.json
में कोई टैग है तो कम्पोज़र अपडेट जो कि एक संस्करण नहीं है (जैसे"twig/extensions": "1.*",
)यदि आप अपने सिम्फनी को एक ऐसे वर्जन के साथ अपग्रेड करते हैं जिसके लिए ट्विग 2.x की आवश्यकता होती है
वास्तव में, यदि आप इस संस्करण पर बने रहते हैं, तो आप इस चेतावनी से प्रभावित नहीं होंगे।
संबंधित सवाल
नए सवाल
php
PHP एक व्यापक रूप से उपयोग किया जाता है, उच्च-स्तरीय, गतिशील, वस्तु-उन्मुख, और व्याख्या की गई स्क्रिप्टिंग भाषा मुख्य रूप से सर्वर-साइड वेब विकास के लिए डिज़ाइन की गई है। PHP भाषा के बारे में सवालों के लिए इस्तेमाल किया।