<?php
abstract class TipoInput{
const Texto = 0;
const Numerico = 1;
const Fecha = 2;
const Select=3;
const SelectMultiple=4;
const Vacio=5;
}
abstract class TipoValidacion{
const None=0;
const Texto=1;
const Numerico=2;
const RangoNumero=3;
const RangoFecha=4;
}
abstract class TipoGrupo{
const Simple=0;
const Referencia=1;
const Multiple=2;
}
abstract class Tipo{
const Campo=0;
const Indicador=1;
const IndicadorMaestro=2;
}
class option{
public $value;
public $text;
public function __construct($valor,$texto){
$this->value=$valor;
$this->text=$texto;
}
}
class propiedad{
public $id;
public $nombre;
public $tamanio;
public $tipoCampo;
public $validacion;
public $tipoGrupo;
public $maxValue;
public $minValue;
public $defaultValue;
public $argValues;
public $ref;
public $tipo;//Campo Indicador
public function __construct($size,$typeGroup,$typeField,$id,$name,$validation,$type,$referencias){
$this->id=$id;
$this->nombre=$name;
$this->tamanio=$size;
$this->tipoCampo=$typeField;
$this->validacion=$validation;
$this->tipoGrupo=$typeGroup;
$this->minValue="01-01-2014";
$this->maxValue="06-01-2014";
$this->defaultValue='hola';
$this->argValues = array();
$this->argValues[0] = new option(0,'Ola');
$this->argValues[1] = new option(1,'k');
$this->argValues[2] = new option(2,'ase');
$this->tipo=$type;
$this->ref=$referencias;
}
//Ejemplo de utilizaciĆ³n.
//vector de referencia
$vecRef = array();
$vecRef[]= new propiedad(8, TipoGrupo::Simple,TipoInput::Texto,'c11',"Nombre", TipoValidacion::Texto, Tipo::Campo,null);
$vecRef[]= new propiedad(4,TipoGrupo::Simple,TipoInput::Numerico, 'c22',"Cedula", TipoValidacion::Numerico, Tipo::Indicador,null);
$vecRef[] = new propiedad(4,TipoGrupo::Simple,TipoInput::Fecha, 'c33',"Fecha Nacimiento", TipoValidacion::Texto, Tipo::Campo,null);
$vecRef2 = array();
$vecRef2[]= new propiedad(3, TipoGrupo::Simple,TipoInput::Texto,'c111',"Nombre", TipoValidacion::Texto, Tipo::Campo,null);
$vecRef2[]= new propiedad(4,TipoGrupo::Simple,TipoInput::Numerico, 'c222',"Cedula", TipoValidacion::Numerico, Tipo::Indicador,null);
$vecRef2[] = new propiedad(3,TipoGrupo::Simple,TipoInput::Fecha, 'c333',"Fecha Nacimiento", TipoValidacion::Texto, Tipo::Campo,null);
$vector = array();
$vector[] = new propiedad(5,TipoGrupo::Simple,TipoInput::Texto, 'c1',"A", TipoValidacion::Texto, Tipo::Campo,null);
//espacio en blanco.
$vector[]= new propiedad(2,TipoGrupo::Simple,TipoInput::Vacio,null,null,null, null,null);
$vector[]= new propiedad(5,TipoGrupo::Simple,TipoInput::Numerico,'c2',"B", TipoValidacion::Numerico, Tipo::Campo,null);
$vector[] = new propiedad(4,TipoGrupo::Simple,TipoInput::Fecha,'c3',"Fecha do Nacimiento", TipoValidacion::Texto, Tipo::Campo,null);
$vector[] = new propiedad(5,TipoGrupo::Simple,TipoInput::Numerico,'c2a',"Cedula", TipoValidacion::Numerico, Tipo::Campo,null);
//campo de referencia
$vector[] = new propiedad(2,TipoGrupo::Referencia,TipoInput::Select,'c4a',"Campo Referencia", TipoValidacion::None, Tipo::Campo,$vecRef);
$vector[] = new propiedad(4,TipoGrupo::Simple,TipoInput::Fecha,'c3a',"Hola", TipoValidacion::Texto, Tipo::Campo,null);
//indicador de referencia
$vector[]= new propiedad(2,TipoGrupo::Multiple,TipoInput::Select,'c4c',"Indicador Multiple", TipoValidacion::None, Tipo::Indicador,$vecRef2);
//indicador multiple
$vector[]= new propiedad(2,TipoGrupo::Referencia,TipoInput::Select,'c4b'," Referencia", TipoValidacion::None, Tipo::Indicador,$vecRef2);
echo json_encode($vector);
Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).