LuaSandboxFunction::call

(PECL luasandbox >= 1.0.0)

LuaSandboxFunction::callChama uma função Lua

Descrição

public LuaSandboxFunction::call(string ...$args): array|bool

Chama uma função Lua.

Erros considerados como falha do código PHP resultarão na função retornando false e E_WARNING sendo emitido, por exemplo, um tipo resource sendo usado como um argumento. Erros Lua resultarão em uma exceção LuaSandboxRuntimeError sendo lançada.

Os tipos PHP e Lua são convertidos da seguinte forma:

  • O null do PHP é nil no Lua, e vice-versa.

  • int e float no PHP são convertidos para números Lua. Infinito e NAN são suportados.

  • Números Lua sem uma parte fracionária entre aproximadamente -2**53 e 2**53 são convertidos para ints do PHP, com outros sendo convertidos para floats do PHP.

  • bools do PHP são booleanos do Lua, e vice-versa.

  • strings do PHP são strings do Lua, e vice-versa.

  • Funções do Lua são objetos LuaSandboxFunction do PHP, e vice-versa. Tipos callable do PHP em geral não são suportados.

  • arrays do PHP são convertidos para tabelas do Lua, e vice-versa.

    • Note que Lua normalmente indexa arrays a partir de 1, enquanto o PHP indexa arrays a partir de 0. Nenhum ajuste é feito para essas convenções diferentes.

    • Arrays autorreferenciais não são suportadas em nenhuma direção.

    • Referências PHP são desreferenciadas.

    • __pairs e __ipairs do Lua são processados __index é ignorado.

    • Ao converter de PHP para Lua, chaves inteiras entre -2**53 e 2**53 são representadas como números Lua. Todas as outras chaves são representadas como strings Lua.

    • Ao converter de Lua para PHP, chaves diferentes de strings e números resultarão em erro, assim como colisões ao converter números em strings ou vice-versa (já que o PHP considera coisas como $a[0] e $a["0"] como sendo equivalentes).

  • Todos os outros tipos não são suportados e gerarão um erro/exceção, incluindo objects PHP em geral e tipos de thread e userdata do Lua.

As funções Lua retornam inerentemente uma lista de resultados. Então, em caso de sucesso, este método retorna um array contendo todos os valores retornados por Lua, com chaves int começando a partir de zero. Lua pode não retornar nenhum resultado, nesse caso um array vazio é retornado.

Parâmetros

args

Argumentos passados ​​para a função.

Valor Retornado

Retorna um array de valores retornados pela função, que pode estar vazio, ou false em caso de falha.

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top