Named starting with __ as magical
will be called on each newly-created object
will be called there are no other references to a particular object in any order during the shutdown sequence.
is triggered by calling isset() or empty() on inaccessible properties.
is invoked when unset() is used on inaccessible properties.
is run when writing data to inaccessible properties.
is utilized for reading data from inaccessible properties.
is triggered when invoking inaccessible methods in an object context.
is triggered when invoking inaccessible methods in a static context.
serialize() checks __sleep().
executed prior to any serialization.
unserialize() checks __wakeup().
this function can reconstruct any resources that the object may have.
when it is treated like a string. must return a string
call an object as a function.
be called for classes exported by varexport()
Once the cloning is complete,
if a __clone() method is defined,
then the newly created object's _clone() method will be called