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();