ייחוס שנכתב לבנאים

כתיבת ייחוס לבנאים עלול להוביל לתוצאות מבלבלות . חלק זה במדריך עוזר לך להמנע מהבעיות שיתכנו .






בדיקה אם יש הבדל בין $bar1 שיוצר תוך שימוש בעותק של האופרטור = ושל $bar2 שנוצר תוך שימוש באופרטור הייחוס = .. .






נראה שאין כל הבדל , אבל למעשה יש הבדל משמעותי מאוש אחד : $bar1 ו $globalref[ 0 ] הם לא מיוחסים , הם לא אותו משתנה . זאת בגלל ש "new " לא מחזיר יחוס בברירת מחדל , במקום זאת הוא מחזיר עותק .

הערה : אין איבוד של ביצועים ( מאחר ו PHP 4 ומעלה משתמשים במיספור ליחוס ) ומוחזרים עותקים במקום ייחוס . מצד שני זה לעתים קרובות עדיף פשוט לעבוד עם עותקים במקום עם "ייחוסים" , בגלל שיצירת "ייחסוים " לוקחת זמן מה כשיצירת עותקים וירטואלים אינה לוקחת זמן כלשהו (כל עוד אף אחד מהם הוא לא מערך גדול או אובייקט and ושאחד מהם משתנה ואחר(ים ) לאחר מכן , במקר כזה זה יהיה חכם להשתמש בייחוסים לשנות את כולם בו זמנית ) .

להוכיח את מה שנכתב למעלה יש לבחון את הקוד הבא:





לבסוף עוד דוגמא , מומלץ לנסות להבין אותה .