<?php
class SuperVoidObject{
	function __constuct(){
		//El constructor de esta clase está vacío
	}
	
	function __set($name, $value){
		$this->$name = $value;
	}
	function __get($name){
		$retorno = NULL;
		if (isset($this->$name)){
			$retorno = $this->$name;
		}
		return($retorno);
	}
	function muestra_opciones(){
		//Esta función recorre todas las variables de este objeto mostrándolas
		$lista_variables = get_object_vars($this);
		$cadena = "";
		foreach($lista_variables as $indice => $valor){
			if ($cadena != ""){
				$cadena .= ", ";
			}
			if (is_object($valor)){
				$cadena .= '$' . $indice . ": { ";
				//mostramos su valor usando esta función
				$cadena .= $this->$indice->muestra_opciones();
				$cadena .="} ";
			}else{
				//Si el valor es una cadena, entonces le ponemos las comillas
				/*if (is_string($valor)){
					$valor = '"' . $valor . '"';
				}*/
				$cadena .= '$' . $indice . ": " . $valor;
			}
		}
		return($cadena);
	}
}
?>