<?xml version="1.0"?>
<document title="XtPHP" description="Biblioteca de classes que facilitam a vida do programador.">
<class name="XtStore">
<description>XtStore é uma classe do XtPHP que facilita a manipulação de matrizes de dados. XtStore se baseia em STORES, que é um array multidimensional onde a primeira dimensão se refere às linhas e as segundas dimensões são cada conjunto de colunas de cada linha, com o nome dos campos e os dados armazenados.</description>
<methods>
<method name="sort" visibility="public" example="store_sort.php">
<description>Ordena o store com base na ordem passada em $order. Atualmente suporta ordenação para até cinco campos do store.</description>
<params>
<param type="array" name="$store" optional="false" default="">Um Store com os dados para ordenar.</param>
<param type="array" name="$order" optional="false" default="">Um array com a opção de ordenação, no seguinte formato: nomedocampo => ordem. A ordenação pode ser ASC (ascendente) ou DESC (descendente).</param>
</params>
<return type="array">Retorna o Store ordenado.</return>
</method>
<method name="find" visibility="public" example="store_find.php">
<description>Procura por um valor em um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store fonte da busca.</param>
<param type="string" name="$search" optional="false" default="">O valor a ser procurado.</param>
<param type="array" name="$fields" optional="true" default="false">Um array com os nomes dos campos do Store que serão alvo da busca. Se nada for especificado, a busca será realizada em todos os campos do Store.</param>
</params>
<return type="array">Retorna um novo Store somente com as linhas que correspondem à string de procura.</return>
</method>
<method name="fields" visibility="public" example="store_fields.php">
<description>Retorna os nomes dos campos de um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
</params>
<return type="array">Retorna um array com os nomes de campos.</return>
</method>
<method name="page" visibility="public" example="store_page.php">
<description>Método para paginar um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store a ser paginado.</param>
<param type="int" name="$page" optional="true" default="1">O número da página a ser retornada.</param>
<param type="int" name="$size" optional="true" default="10">O tamanho da página (quantos registros a página terá).</param>
</params>
<return type="array">Retorna um Store contendo uma página do Store passado por $store.</return>
</method>
<method name="pages" visibility="public" example="store_page.php">
<description>Retorna o total de páginas de um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
<param type="int" name="$size" optional="true" default="10">O tamanho da página (quantos registros a página terá).</param>
</params>
<return type="integer">Retorna o número de páginas do Store.</return>
</method>
<method name="fromMysql" visibility="public" example="store_frommysql.php">
<description>Converte um resultado de uma busca Mysql em um Store.</description>
<params>
<param type="resource" name="$result" optional="false" default="">O resource de resultado Mysql.</param>
</params>
<return type="array">Retorna um Store contendo os dados da busca Mysql.</return>
</method>
<method name="addRow" visibility="public" example="store_addrow.php">
<description>Adiciona uma linha a um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store que receberá a nova linha.</param>
<param type="array" name="$row" optional="false" default="">A linha a ser adicionada. Deve ter um formato de Store com uma única linha.</param>
<param type="mixed" name="$ref" optional="true" default="last">A posição em que a linha será adicionada. "first" para adicionar no início e "last" para adicionar ao final, ou um número para adicionar em posição diferente.</param>
</params>
<return type="array">Retorna um Store com a nova linha.</return>
</method>
<method name="delRow" visibility="public" example="store_delrow.php">
<description>Exclui uma linha de um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store que terá a linha excluída.</param>
<param type="integer" name="$index" optional="false" default="">A linha a ser excluída.</param>
<param type="bool" name="$reindex" optional="true" default="true">True para recalcular os números de linha e false para deixar os números de linha originais.</param>
</params>
<return type="array">Retorna um Store com a nova linha.</return>
</method>
<method name="addCol" visibility="public" example="store_addcol.php">
<description>Adiciona uma coluna a um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store que receberá a nova coluna.</param>
<param type="array" name="$col" optional="false" default="">A coluna a ser adicionada. Deve ter um formato de Store com uma única coluna e com a mesma quantidade de linhas do Store principal.</param>
<param type="string" name="$name" optional="false" default="">Nome da coluna a ser adicionada.</param>
<param type="mixed" name="$ref" optional="true" default="last">A posição em que a coluna será adicionada. "first" para adicionar no início e "last" para adicionar ao final, ou um número para adicionar em posição diferente.</param>
</params>
<return type="array">Retorna um Store com a nova coluna.</return>
</method>
<method name="delCol" visibility="public" example="store_delcol.php">
<description>Remove uma coluna a um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store que terá coluna excluída.</param>
<param type="string" name="$col" optional="false" default="">Nome da coluna a ser excluída.</param>
</params>
<return type="array">Retorna um Store sem a coluna excluída.</return>
</method>
<method name="orderCols" visibility="public" example="store_ordercol.php">
<description>Ordena colunas de um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store a ser ordenado.</param>
<param type="array" name="$order" optional="false" default="">Um array com os nomes de colunas na ordem desejada.</param>
</params>
<return type="array">Retorna um Store com as colunas ordenadas.</return>
</method>
<method name="applyFn" visibility="public" example="store_applyfn.php">
<description>Aplica uma função em uma coluna de um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
<param type="string" name="$fn" optional="false" default="">O nome da função (sem "()"). A função deve receber como parâmetro uma linha inteira por vez, executar o tratamento dos dados desejados e retornar o valor para o campo especificado em $field.</param>
<param type="string" name="$field" optional="false" default="">Nome da coluna a qual a função será aplicada.</param>
</params>
<return type="array">Retorna um Store.</return>
</method>
<method name="fromCSV" visibility="public" example="store_fromcsv.php">
<description>Lê o conteúdo de um arquivo do tipo CSV (campos separados por vírgula ou ponto-e-vírgula) e converte em um Store.</description>
<params>
<param type="string" name="$file" optional="false" default="">O caminho completo para o arquivo. Lembre-se que o PHP deve ter permissão de leitura desse arquivo.</param>
<param type="array" name="$fields" optional="false" default="">Um array contendo o nome dos campos.</param>
<param type="string" name="$separator" optional="true" default=";">O separador de coluna.</param>
<param type="string" name="$enclosure" optional="true" default="aspas">O caractere qualificador de texto. O padrão é "" (aspas). Caso deseje especificar outro, lembre-se que apenas úm é necessário (no caso, apenas ").</param>
<param type="string" name="$escape" optional="true" default="/">O caractere de escape para caracteres especiais.</param>
</params>
<return type="array">Retorna um Store com os dados do arquivo.</return>
</method>
<method name="toCSV" visibility="public" example="store_tocsv.php">
<description>Converte um Store em um arquivo CSV.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store a ser convertido.</param>
<param type="mixed" name="$fields" optional="true" default="true">True para colocar os nomes dos campos do Store na primeira linha, False para não colocar nomes de campos ou um array contendo os nomes de cmapos desejados.</param>
<param type="string" name="$separator" optional="true" default=";">O separador de coluna.</param>
<param type="string" name="$enclosure" optional="true" default="aspas">O caractere qualificador de texto. O padrão é "" (aspas). Caso deseje especificar outro, lembre-se que apenas úm é necessário (no caso, apenas ").</param>
</params>
<return type="array">Retorna um array onde cada elemento corresponde a uma linha do arquivo CSV.</return>
</method>
<method name="fromFixed" visibility="public" example="store_fromfixed.php">
<description>Lê o conteúdo de um arquivo de texto (campos com largura fixa ou equivalente) e converte em um Store.</description>
<params>
<param type="string" name="$file" optional="false" default="">O caminho completo para o arquivo. Lembre-se que o PHP deve ter permissão de leitura desse arquivo.</param>
<param type="array" name="$cm" optional="false" default="">O layout das colunas na forma de um array com as seguintes chaves para cada coluna: title (título da coluna), start (caractere de início da coluna), size (tamanho em caracteres da coluna), fn (nome de uma função a ser aplicada). Sobre fn, a função deve receber a linha inteira do Store e retornar um valor para ser armazenado no campo.</param>
<param type="mixed" name="$filter" optional="true" default="0">Determina se cada linha do arquivo será validada. Se 0, não será feita validação. Se for um inteiro, cada linha será aceita se o seu tamanho corresponder ao número passado. Se for string, corresponde ao nome de uma função que recebe a linha do arquivo e retorna true ou false se validada ou não. Cada linha, quando testada, somente será convertida se for validada.</param>
<param type="integer" name="$firstRow" optional="true" default="0">O número da linha pela qual se iniciará a importação.</param>
</params>
<return type="array">Retorna um Store com os dados do arquivo.</return>
</method>
<method name="toSQL" visibility="public" example="store_tosql.php">
<description>Converte um Store em string INSERT para Mysql.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store a ser convertido.</param>
<param type="string" name="$table" optional="false" default="">O nome da tabela a ser utilizada.</param>
<param type="mixed" name="$fields" optional="true" default="true">Se true, utiliza o nome dos campos do Store como nome de campos do Mysql. Senão, recebe um array com os nomes de cmapos a serem utilizados.</param>
<param type="boolean" name="$create" optional="true" default="false">Se true, cria uma string SQL para criar uma tabela com base na primeira linha do Store.</param>
</params>
<return type="array">Retorna um array onde cada elemento corresponde a uma linha INSERT.</return>
</method>
<method name="trimStore" visibility="public" example="">
<description>Retira espaços em branco do início e final de cada célula do Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
</params>
<return type="array">Retorna um Store.</return>
</method>
<method name="prepareToJson" visibility="public" example="">
<description>corrige problemas com caracteres especiais que causam erros com json_encode().</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
</params>
<return type="array">Retorna um Store.</return>
</method>
<method name="fromODBC" visibility="public" example="">
<description>Converte um resultado de uma busca SQL ODBC em um Store.</description>
<params>
<param type="resource" name="$result" optional="false" default="">O resource de resultado ODBC.</param>
</params>
<return type="array">Retorna um Store contendo os dados da busca ODBC.</return>
</method>
<method name="toXml" visibility="public" example="store_toxml.php">
<description>Converte um Store em uma string XML.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
<param type="string" name="$encoding" optional="true" default="UTF-8">A codificação de caractere.</param>
<param type="int" name="$pagesize" optional="true" default="10">O tamanho da página, em número de linhas.</param>
</params>
<return type="array">Retorna uma string XML.</return>
</method>
<method name="fromXml" visibility="public" example="store_fromxml.php">
<description>Converte o conteúdo de um arquiv XML em um Store.</description>
<params>
<param type="string" name="$file" optional="false" default="">O arquivo XML.</param>
<param type="boolean" name="$string" optional="true" default="false">Se true, não processa o arquivo, mas uma string XML passada em $file.</param>
</params>
<return type="array">Retorna um Store contendo os dados do arquivo XML.</return>
</method>
<method name="renameCol" visibility="public" example="store_renamecol.php">
<description>Renomeia colunas de um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
<param type="array" name="$rename" optional="false" default="">Um array com os nomes das colunas a serem renomeadas como chave e os novos nomes como valores de cada chave.</param>
</params>
<return type="array">Retorna um Store com as colunas renomeadas.</return>
</method>
<method name="toHtml" visibility="public" example="store_tohtml.php">
<description>Converte um Store para uma tabela HTML.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
</params>
<return type="string">Uma string com o código HTML da tabela.</return>
</method>
<method name="setTypeFields" visibility="public" example="store_settypefields.php">
<description>Configura os tipos dos valores das colunas de um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
</params>
<return type="array">Uma matriz com as colunas e os respectivos tipos de dados no formato coluna => tipo. Aceita os tipos da função settype() do PHP.</return>
</method>
<method name="cross" visibility="public" example="cross.php">
<description>Realiza referências cruzadas com um Store.</description>
<params>
<param type="array" name="$store" optional="false" default="">O Store.</param>
<param type="string" name="$line" optional="false" default="">O nome da coluna que servirá como base para as linhas.</param>
<param type="string" name="$col" optional="false" default="">O nome da coluna que servirá como base para as colunas.</param>
<param type="string" name="$value" optional="false" default="">O nome da coluna que servirá como base para os campos de valores.</param>
<param type="string" name="$valuefn" optional="true" default="sum">O nome da função que agregará os dados da coluna $value. Deve ser o nome de um dos métodos da classe XtMath.</param>
<param type="string" name="$linefn" optional="true" default="">O nome da função totalizadora das linhas. Deve ser o nome de um dos métodos da classe XtMath.</param>
<param type="string" name="$colfn" optional="true" default="">O nome da função totalizadora das colunas. Deve ser o nome de um dos métodos da classe XtMath.</param>
</params>
<return type="array">Um Store.</return>
</method>
</methods>
</class>
</document>
|