ทำไมคอร์ถึงใช้งานพิมพ์มากกว่าเสียงสะท้อน?


24

ฉันได้อ่านบางและผมจำไม่ได้ที่ว่าเป็นวิธีที่มีประสิทธิภาพมากขึ้นของการแสดงผลข้อมูลแล้วechoprint

เหตุใด Drupal Core printจึงใช้มาก มีเหตุผลพิเศษอะไรไหม?


1
บน sidenote: print จะส่งคืนค่า 1 เสมอ echo จะไม่ส่งคืนค่าใด ๆ ฉันเดาว่าอาจมีประโยชน์ในบางกรณี
บาร์ต

กรณีแบบไหนที่อาจเป็นไปได้?
jayarjo

ฉันก็สงสัยเช่นกัน! คำถามที่ดี!
aendrew

คำตอบ:


25

echoเร็วขึ้นในสภาพแวดล้อมทางวิชาการเท่านั้น ความแตกต่างเล็กน้อยมาก เกณฑ์มาตรฐานอย่างรวดเร็วที่ฉันเพิ่งทำ: เวลาดึงหนึ่งแถวจากตารางที่มีมากกว่า 2,000 โหนดคือ 1 หน่วย

เพื่อให้ได้รับการปรับปรุง 1 หน่วยผมจะต้องเปลี่ยนเกี่ยวกับ 3.700.000 (กว่า 3 ล้าน) งบด้วยprint echoกล่าวอีกนัยหนึ่งถ้าคุณต้องการปรับปรุงประสิทธิภาพนี่เป็นจุดเริ่มต้นที่ยากมาก

เห็นได้ว่าprintสามารถใช้ในกรณีที่กว้างกว่ามากechoครั้งแรกมีข้อได้เปรียบบางอย่าง มันทำให้คุณสามตัวเลือก:

  • ใช้เสมอ print
  • ใช้echoที่เป็นไปได้และเลือกทางเลือกprint
  • ใช้echoเสมอและ refactor รหัสของคุณหากechoไม่สามารถใช้งานได้

Drupal เริ่มต้นในวันแรก

เพื่อตอบคำถามที่แท้จริงของคุณว่าเหตุใดจึงเลือกสิ่งนี้: ไม่ใช่ มันก็เติบโตแบบนี้


คุณสามารถให้ตัวอย่างเมื่อไม่สามารถใช้เสียงสะท้อนได้หรือไม่? เป็นเพียงฉันไม่สามารถจินตนาการได้ในขณะนี้
jayarjo

6
if (! print some_method() ) {print some_other_method()}ส่วนใหญ่ที่เห็นได้ชัดคือ เนื่องจากการพิมพ์ส่งกลับค่า TRUE ถ้าพิมพ์จริงบางอย่าง Echo ไม่ส่งคืนสิ่งใดซึ่งเป็นสาเหตุว่าทำไมมันเร็วขึ้นด้วย อีกตัวอย่างหนึ่งที่คุณจะเห็นคือreturn print $somevalueในตอนท้ายของวิธีการคืนสถานะ
berkes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.