start page | rating of books | rating of authors | reviews | copyrights

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.