<slide title="PHP5 OO - set/get">

<blurb>
Property access handlers combined with 'private' can be used as a replacement for
dynamic properties.
</blurb>

<example fontsize="2em"><![CDATA[<?php
class OSses {
    private $names = array();

    public function __set($name, $value) {
        if (!in_array($name, array('windows', 'dos')))
            $this->names[$name] = $value;
    }

    public function getNames() {
        return $this->names;
    }
}

$osses = new OSses();
$osses->linux = 'rocks';
$osses->windows = 'blows';

var_dump($osses->getNames());
?>]]></example>

<example hide="1" result="1"><![CDATA[array(1) {
  ["linux"]=>
  string(5) "rocks"
}]]></example>
</slide>
