Constructors and Destructors
Constructor
PHP 5 allows developers to declare constructor methods for classes.
Classes which have a constructor method call this method on each
newly-created object, so it is suitable for any initialization that the
object may need before it is used.
Parent constructors are not called implicitly. In order to run
a parent constructor, a call to
parent::__construct is required.
using new unified constructors
]]>
For backwards compatibility, if PHP 5 cannot find a
__construct function for a given class, it will
search for the old-style constructor function, by the name of the class.
Effectively, it means that the only case that would have compatibility
issues is if the class had a method named
__construct which was used for different semantics.
Destructor
PHP 5 introduces a destructor concept similar to that of other
object-oriented languages, such as Java: When the last reference to an
object is destroyed the object's destructor, which is a class method
named __destruct that receives no parameters, is
called before the object is freed from memory.
Destructor Example
name = "MyDestructableClass";
}
function __destruct() {
print "Destroying " . $this->name . "\n";
}
}
$obj = new MyDestructableClass();
?>
]]>
Like constructors, parent destructors will not be called implicitly by
the engine. In order to run a parent destructor, one would have to
explicitly call parent::__destruct in the destructor
body.