_get and _set are new features to php5. when you use $obj->propertyName if the property was not defined in the class like :
<?php
private $propertyName;
?>
then it get's added to the $properties property, which is an array.
so if i do
<?php
$test->MyProp = "testing";
?>
and there is not a $MyProp; defined in the class then it pushes it to the properties array like so
<?php
array (
'MyProp' => "testing",
);
?>
also when i do :
<?php
echo $test->MyProp;
?>
because there is not a property named MyProp defined it checks the properties array for the value.
these are some nice functions, if you have never read about them this will show you an easy way to keep a site configuration or something else useful :
<?php
class Test {
var $properties;
function __set($property_name, $val) {
$this->properties[$property_name] = $val;
}