เมื่อใดที่ฉันควรใช้วิธีการรับ () และชดเชยเวทมนตร์


11

มีสามวิธีในการรับค่าเอนทิตีตัวอย่างเช่นชนิดเนื้อหาโหนด

  • $node->type->value
  • $node->getType()
  • $node->get('type')

ฉันควรใช้อันไหนดี

คำตอบ:


10

หากมีวิธีการเฉพาะ - สำหรับ$node->getType()- ฉันขอแนะนำให้ใช้วิธีนี้ เห็นได้ชัดว่ามันไม่เคยเกิดขึ้นกับสิ่งต่าง ๆ ที่มีชีวิตชีวาเช่นทุ่งนาเพราะนั่น$node->type->valueจะเป็นคำแนะนำ

แก้ไข: $node->get('type')เป็นเพียงตัวแปร verbose เพิ่มเติม$node->type- ทั้งคุณได้รับวัตถุฟิลด์ "ประเภท"


5

วิธีการที่เฉพาะเจาะจง IMO เป็นที่ต้องการอยู่เสมอเพราะ@returnพิมพ์สี คุณไม่สามารถจริงๆ typehint get('foo')การกลับมาของการ และเวทย์มนตร์จะช้าลงเรื่อย ๆ และยังไม่เป็นที่รู้จักของ IDEs เกี่ยวกับสิ่งที่ส่งคืน (โปรดทราบว่าทุกครั้งที่เรากำลังพูดถึง IDEs เรากำลังพูดถึงข้อบกพร่องที่เป็นไปได้เช่นกันไม่ใช่แค่ IDE แต่โปรแกรมเมอร์ไม่มีความรู้เกี่ยวกับสิ่งที่อยู่ในตัวแปร)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.