Saltearse al contenido

Guía PHP DataSource

dataSource

Al utilizar el atributo dataSource en Histris podremos utilizar una clase de PHP para reemplazar el accionar del xml de la siguiente manera:

<?php
class NombreClase {
public static function Select($dataContainer)
{
}
public static function Insert($dataContainer)
{
}
public static function Update($dataContainer)
{
}
public static function Delete($dataContainer)
{
}
}
?>

$dataContainer

Donde $dataContainer es el contenedor de la consulta del XML $dataContainer es una instancia de la clase Container, por lo que tiene los siguientes metodos

function getHttpRequest

Obtiene los parametros enviados por HTTP de la request

$request = $dataContainer->getHttpRequest();

function getSelect

Obtiene la query del contenedor generado del xml en formato string

$sql = $dataContainer->getSelect();

function getParsedBody

Obtiene los parametros enviados por body en formato array

$postVars = $request->getParsedBody();

function getQueryParams

Obtiene los parametros enviados por URL en formato array

$params = $request->getQueryParams();

Crear un dataContainer

Podemos crear dentro de un dataSource un dataContainer de las siguientes formas: 1- A partir de escribir un string como si fuese un xml de Histrix

$string = '<histrix tipo="consulta" autoprint="true">
<form>
<table id="HTXUSERS">
<fieldGroup>
<field id="field_1" local="true" order="2">
</field>
<field id="field_2" local="true" order="1">
</field>
<field id="field_3" local="true">
</field>
<field id="field_4" local="true">
</field>
<field id="field_5" local="true">
</field>
</fieldGroup>
</table>
</form>
</histrix>';
$xml = simplexml_load_string($string);
$parser = new \Histrix\Parser\XmlParser();
$parser->xml = 'test.xml';
$dataContainer = $parser->createDataContainer($xml);

2- A partir de un xml en una ruta

$file = 'example_ing.xml';
$dir = 'example/other/'
$reader = \Histrix\Parser\XmlParser::getReader('', $dir.$file);
$dataContainer = $reader->getContainer();

php