Book HomePHP CookbookSearch this book

7.6. Assigning Object References

7.6.1. Problem

You want to link two objects, so when you update one, you also update the other.

7.6.2. Solution

Use =& to assign one object to another by reference:

$adam = new user;
$dave =& $adam;

7.6.3. Discussion

When you do an object assignment using =, you create a new copy of an object. So, modifying one doesn't alter the other. But when you use =&, the two objects point at each other, so any changes made in the first are also made in the second:

$adam = new user;
$adam->load_info('adam');

$dave =& $adam;
$dave->load_info('dave');

The values in $adam are equal to those of $dave.

7.6.4. See Also

Recipe 7.5 for more on copying object; documentation on references at http://www.php.net/references.



Library Navigation Links

Copyright © 2003 O'Reilly & Associates. All rights reserved.