कोर इको की बजाय प्रिंट का उपयोग क्यों करता है?


24

मैंने कहीं पढ़ा है, और मुझे याद नहीं है कि कहाँ, echoतब डेटा को आउटपुट करने का एक अधिक कुशल तरीका है print

द्रुपाल कोर printइतना उपयोग क्यों करता है? क्या इसके पीछे कोई विशेष कारण है?


1
एक सिडेनोट पर: प्रिंट हमेशा 1 मान के रूप में वापस आएगा, इको कुछ भी वापस नहीं करेगा। मुझे लगता है कि कुछ मामलों में उपयोगी हो सकता है।
बार्ट

ऐसा कौन सा मामला हो सकता है?
जयरजो

मैंने भी सोचा है! अच्छा प्रश्न!
जूल

जवाबों:


25

echoकेवल शैक्षणिक वातावरण में तेज है। अंतर बहुत सीमांत है। एक त्वरित बेंचमार्क जो मैंने अभी किया है: 2000 से अधिक नोड्स वाली तालिका से एक पंक्ति प्राप्त करने का समय 1 यूनिट है।

1 यूनिट का सुधार पाने के लिए, मुझे लगभग 3.700.000 (3 से अधिक मीलियन) printस्टेटमेंट के साथ प्रतिस्थापित करने की आवश्यकता होगी echo। दूसरे शब्दों में, यदि आप प्रदर्शन में सुधार चाहते हैं, तो यह शायद ही शुरू करने की जगह है।

देखा जाता है कि printमामलों की एक बहुत व्यापक रेंज में इस्तेमाल किया जा सकता है echo, तो पहले कुछ फायदे हैं। यह आपको तीन विकल्प छोड़ता है:

  • हमेशा उपयोग करें print
  • echoजहां संभव हो और जहां भी हो, उसका उपयोग करेंprint
  • echoयदि echoउपयोग नहीं किया जा सकता है, तो हमेशा अपने कोड का उपयोग करें और अपने कोड को रीफैक्टर करें

ड्रुपल पहले डिफॉल्ट कर चुका है।

अपने वास्तविक प्रश्न का उत्तर देने के लिए कि यह क्यों चुना गया था: यह नहीं था। यह बस इस तरह से बढ़ी।


क्या आप एक उदाहरण प्रदान कर सकते हैं कि कब गूंज का उपयोग नहीं किया जा सकता है? यह सिर्फ मैं इस समय किसी भी कल्पना नहीं कर सकता है।
जयरजो

6
सबसे स्पष्ट है if (! print some_method() ) {print some_other_method()}। अगर प्रिंट वास्तव में कुछ छपता है तो TRUE लौटाता है। इको कुछ नहीं देता है, यही कारण है कि यह तेजी से भी है। एक और उदाहरण जो आप देखेंगे return print $somevalueवह स्थिति वापस करने के लिए एक विधि के अंत में है।
Berkes
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.