Difference between revisions of "ObjectsAndRefs"

From Hashphp.org
Jump to: navigation, search
Line 11: Line 11:
 
     </tr>
 
     </tr>
  
     <tr><td colspan="2">
+
     <tr><td colspan="2">The above code creates a new class, SimpleClass, with no properties or methods. It then creates a new instance of this class and attaches it to the variable named '$instance'. Because objects are "special" <ref>Sara Golemon, "You're Being Lied To" [http://blog.golemon.com/2007/01/youre-being-lied-to.html]</ref> in PHP5, the relationship between the variable '$instance' and the object inside it is not as direct as you might be expecting...</td></tr>
        The above code creates a new class, SimpleClass, with no properties or methods.
+
        It then creates a new instance of this class and attaches it to the variable
+
        named '$instance'. Because objects are "special" <ref>Sara Golemon, "You're Being Lied To" [http://blog.golemon.com/2007/01/youre-being-lied-to.html]</ref> in PHP5,
+
        the relationship between the variable '$instance' and the object inside it is
+
        not as direct as you might be expecting...
+
    </td></tr>
+
  
 
     <tr style="border:1px solid black">  
 
     <tr style="border:1px solid black">  

Revision as of 21:43, 26 July 2011

This page attempts to provide a visual guide to how objects - and references to them - work in PHP 5.0 and later.






class SimpleClass { }
$instance = new SimpleClass();
ObjRefImg0.png
The above code creates a new class, SimpleClass, with no properties or methods. It then creates a new instance of this class and attaches it to the variable named '$instance'. Because objects are "special" [1] in PHP5, the relationship between the variable '$instance' and the object inside it is not as direct as you might be expecting...
$assigned = $instance; ObjRefImg1.png
Explain the code here
$instance->var = '$assigned will have this value as well'; ObjRefImg3.png
Explain the code here
$reference =& $instance; ObjRefImg2.png
Explain the code here
$instance = null; ObjRefImg4.png
Explain the code here

Notes

  1. Sara Golemon, "You're Being Lied To" [1]