Pdo\Sqlite::createFunction Registra uma função definida pelo usuário para uso em instruções SQL &reftitle.description; public boolPdo\Sqlite::createFunction stringfunction_name callablecallback intnum_args-1 intflags0 Este método permite que a função PHP seja registrada no SQLite como uma função definida pelo usuário, para que possa ser chamada em consultas SQL. A função definida pode ser usada em qualquer consulta SQL que permita chamadas de função, por exemplo SELECT, UPDATE ou gatilhos. Usando este método é possível substituir funções SQL nativas. &reftitle.parameters; function_name O nome da função usada nas instruções SQL. callback Função de retorno de chamada para lidar com a função SQL definida. As funções de retorno de chamada devem retornar um tipo compreendido pelo SQLite (ou seja, tipo escalar). Esta função precisa ser definida como: mixedcallback mixedvalue mixedvalues value O primeiro argumento passado para a função SQL. values Argumentos adicionais passados ​​para a função SQL. num_args O número de argumentos que a função SQL utiliza. Se este parâmetro for -1, a função SQL poderá receber qualquer número de argumentos. flags Uma máscara de bits de opções. Atualmente, apenas Pdo\Sqlite::DETERMINISTIC é suportada, o que especifica que a função sempre retorna o mesmo resultado dadas as mesmas entradas em uma única instrução SQL. &reftitle.returnvalues; &return.success; &reftitle.examples; Exemplo de <methodname>Pdo\Sqlite::createFunction</methodname> Neste exemplo, temos uma função que calcula a soma SHA256 de uma string e depois a inverte. Quando a instrução SQL é executada, ela retorna o valor do nome do arquivo transformado pela nossa função. Os dados retornados em $rows contêm o resultado processado. A beleza desta técnica é que não há necessidade de processar o resultado usando um laço &foreach; após a consulta. createFunction('sha256rev', 'sha256_and_reverse', 1); $rows = $db->query('SELECT sha256rev(filename) FROM files')->fetchAll(); ?> ]]> &reftitle.seealso; Pdo\Sqlite::createAggregate Pdo\Sqlite::createCollation sqlite_create_function sqlite_create_aggregate