00001 <?php
00013 class Parametro{
00014
00015
00016 public $valor;
00017 public $nombre;
00018
00028 public function __construct($nombre, $nulo, $vacio){
00029
00030 if ((!isset($nombre)) OR ($nombre=='')) throw new ExcepcionParametroNombreInvalido();
00031 $this->nombre = $nombre;
00032 if (!$nulo){
00033 if (!isset($_REQUEST[$nombre])) throw (new ExcepcionParametroInexistente($nombre));
00034 if ($_REQUEST[$nombre] == 'undefined') throw (new ExcepcionParametroIndefinido($nombre));
00035 if ($_REQUEST[$nombre] == '') throw (new ExcepcionParametroIndefinido($nombre));
00036 }
00037 if (!$vacio)
00038 if ($_REQUEST[$nombre] == "") throw (new ExcepcionParametroVacio($nombre));
00039
00040 if (!isset($_REQUEST[$nombre])) $this->valor = null;
00041 elseif ($_REQUEST[$nombre] == 'undefined') $this->valor = null;
00042 elseif ($_REQUEST[$nombre] == '') $this->valor = null;
00043 else $this->valor = addslashes($_REQUEST[$nombre]);
00044 }
00045 }
00046
00047
00048 class ExcepcionParametroNombreInvalido extends Excepcion{
00049 public function __construct(){
00050 $titulo = "No se ha especificado ningún nombre para el parámetro";
00051 $texto = "La aplicación no ha podido leer el parámetro solicitado porque no se ha indicado ningún nombre para él.";
00052 $solucionProgramador = "Revise los parámetros pasados al constructor de la clase.";
00053 parent::__construct($titulo,$texto,$solucionProgramador);
00054 }
00055 }
00056 class ExcepcionParametroInexistente extends Excepcion{
00057 public function __construct($parametro){
00058 $titulo = "Falta el parámetro requerido '$parametro'.";
00059 $texto = "La aplicación no ha recibido el parámetro '$parametro', que es imprescindible para realizar la operación.";
00060 $solucion = "Compruebe que ha completado todos los campos obligatorios del formulario y reintente la operación.";
00061 parent::__construct($titulo,$texto,$solucion);
00062 }
00063 }
00064 class ExcepcionParametroIndefinido extends Excepcion{
00065 public function __construct($parametro){
00066 $titulo = "El Parámetro '$parametro' No está Definido.";
00067 $texto = "La aplicación ha recibido el valor 'undefined' para el parámetro '$parametro', por lo que es imposible realizar la operación.";
00068 $solucionProgramador = "Compruebe que ha asignado valores a los campos del formulario y que se asignan valores por defecto.";
00069 $solucionUsuario = "Compruebe que ha completado todos los campos obligatorios del formulario y reintente la operación.";
00070 parent::__construct($titulo,$texto,$solucion, $solucionUsuario);
00071 }
00072 }
00073 class ExcepcionParametroVacio extends Excepcion{
00074 public function __construct($parametro){
00075 $titulo = "El parámetro '$parametro' tiene un valor vacío";
00076 $texto = "La aplicación ha recibido el parámetro '$parametro' con un valor vacío. Este parámetro requiere un valor válido.";
00077 $solucionProgramador = "Compruebe que todos los parámetros requeridos son enviados y que los nombres están correctamente escritos.";
00078 $solucionUsuario = "Compruebe que ha completado todos los campos obligatorios del formulario y reintente la operación.";
00079 parent::__construct($titulo,$texto,$solucionProgramador,$solucionUsuario);
00080 }
00081 }
00082
00083 return true;
00084 ?>