Forum und email

מה מכוונים עושים?

מכוון מאפשר לשני משתנים להצביע על אותו תוכן. כלומר כשאתה עושה:

<?php
$a 
=& $b 
?>
משמעותו ש$a ו$b מצביעים לאותו משתנה.

Note: $a ו $b שוים לגמרי כאן, אין הכוונה ש $a מצביע ל $b או להפך, אלא ש $a ו $b מצביעים לאותו מקום.

ניתן להשתמש באותו תחביר בפונקציות שמחזירות מכוון, עם האופרטור new (בPHP 4.0.4 ואילך):

<?php
$bar 
=& new fooclass();
$foo =& find_var ($bar);
?>

Note: כשלא משתמשים באופרטור & העתקה של האובייקט מתבצעת. אם למשל, אתה משתמש ב $this בתוך מחלקה, הפעולות שתעשה ישפיעו על האובייקט הנוכחי. השמה ללא & תעתיק את האובייקט, כלומר $this ישפיע על העותק, וזה לא תמיד מה שהתכוונת. בדרך כלל תעדיף לעבוד עם "מופע" (אובייקט) יחיד, בגלל עניינים שקשורים לביצועים ולניהול הזיכרון.
למרות שמשתמשים באופרטור @ על מנת להשתיק את השגיאות בבנאי, לדוגמא @new, לא ניתן לעשות זאת כאשר משתמשים בקריאה &new. זוהי מגבלה של מנוע הZEND ועל כן התוצאה תהיה שגיאה.

הדבר השני לו משמשים מכוונים הוא העברת משתנה ע"י מכוון. זה נעשה על ידי השמת המשתנה המקומי של הפונקציה ומשתנה בטווח ההגדרה של הקוד שקרא לפונקציה, זהים. דוגמא:

<?php
function foo (&$var)
{
    
$var++;
}

$a=5;
foo ($a);
?>
יעדכן את הערך של $a ל6. זה קורה בגלל שבפונקציה foo המשתנה $var מצביע לאותו תוכן כמו $a. ראה גם עוד הסברים ופרטים לגבי העברה על ידי מכוון.

הדבר השלישי שמכוונים עושים הוא חזרה של מכוון.