mixed) */ private $properties = array(); /** * Holds the sub-elements of this structure. * * These elements cannot be a part of the property system because it is an * array. */ public $elements = array(); /** * Sets the property $name to $value. * * @throws ezcBasePropertyNotFoundException if the property does not exist. * @param string $name * @param mixed $value * @ignore */ public function __set( $name, $value ) { $this->properties[$name] = $value; } /** * Returns the property $name. * * @param string $name * @ignore */ public function __get( $name ) { $value = $this->properties[$name]; if ( is_array( $value ) ) { return (array) $this->properties[$name]; } return $this->properties[$name]; } /** * Returns if the given property isset. * * @param string $name * @return bool * @ignore */ public function __isset( $name ) { return array_key_exists( $name, $this->properties ); } /** * Generates string output of the debug messages. * * The output generated is each value listed in the form "'key' => 'value'". * * @return string */ public function toString() { $str = ""; foreach ( $this->properties as $key => $value ) { $str .= "$key => $value\n"; } return $str; } } ?>