4D v16.3PHP Execute |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
PHP Execute
PHP Execute
O comando PHP Execute permite executar um script ou uma função PHP. Passe no parâmetro rutaScript a rota de acesso do arquivo de script PHP a executar. Pode ser uma rota de acesso relativa se o arquivo está localizado junto à estrutura do banco ou de uma rota absoluta. A rota de acesso pode ser expressa em sintaxe sistema ou POSIX. Passe no parâmetro nomFunção um nome de função PHP se quer executar uma função específica no script rotaScript. Se passa uma string vazia ou omite o parâmetro nomFunção, o script se executa completamente. Nota: PHP considera as maiúsculas e minúsculas dos caracteres no nome da função. Não utilize parênteses, introduza unicamente o nome da função. O parâmetro resultPHP recebe o resultado da execução da função PHP. Pode passar:
O parâmetro resultPHP pode ser de tipo texto, inteiro longo, real, booleano ou data assim como também (exceto para arrays) BLOB ou hora. 4D efetuará a conversão dos dados e os ajustes necessários seguindo os princípios descritos na seção a continuação.
Se chama a uma função PHP que espera argumentos, utilize os parâmetros param1...N para passar um ou vários valores. Os valores devem estar separados por ponto e vírgula. Pode passar valores de tipo alfa, texto, booleano, real, inteiro, inteiro longo, data ou hora. As imagens e os BLOBs não são aceitos. Pode enviar um array; neste caso deve passar um ponteiro no array ao comando PHP Execute, do contrário o índice atual do array se enviará como um inteiro (ver o exemplo). O comando aceita todos os tipos de arrays exceto os arrays ponteiro, os arrays imagem e os arrays 2D. Nota: por razões técnicas, o tamanho dos parâmetros passados através do protocolo FastCGI não deve passar os 64 KB. Deve considerar esta limitação se utiliza parâmetros de tipo Texto. O comando devolve True se a execução for realizada corretamente do lado de 4D, em outras palavras, se o lançamento do ambiente de execução, a abertura do script e o estabelecimento da comunicação com o intérprete PHP foram exitosos. Do contrário, se gera um erro, que pode interceptar com o comando ON ERR CALL e analizar com GET LAST ERROR STACK. Nota: PHP permite configurar a gestão de erros. Para maior informação, consulte por exemplo a página: http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting. A tabela a seguir especifica como 4D interpreta e converte os dados devolvidos em função do tipo do parâmetro resultPHP.
(*) Por padrão, não são devolvidos os cabeçalhos HTTP: Nota: se precisar recuperar grandes volumes de dados utilizando PHP, é mais eficiente passar pelo canal do buffer stdOut (comando echo ou similar) que pelo retorno de função. Para maior informação, consulte a descrição do comando PHP GET FULL RESPONSE. Pode utilizar o comando SET ENVIRONMENT VARIABLE para definir as variáveis de ambiente utilizadas pelo script. Atenção: depois de chamar LAUNCH EXTERNAL PROCESS ou PHP Execute, o conjunto das variáveis de ambiente se apaga. 4D oferece as seguintes funções especiais:
Note que o intérprete é relançado automaticamente quando a primeira petição é enviada por PHP Execute. Chamada do script "myPhpFile.php" sem função. Este é o conteúdo do script: <?php O código 4D a seguir: C_TEXT($result) ... mostrará "Versão PHP atual: 5.3" Chamada da função myPhpFunction no script "myNewScript.php" com parâmetros. Este é o conteúdo do script: <?php Chamada com função: C_TEXT($result) Sair do intérprete PHP: $ifOk:=PHP Execute("";"quit_4d_php") Gestão de erros: // Instalação do método de gestão de erros O método PHP_errHandler é o seguinte: phpCommError:="" Criação dinâmica por 4D de um script antes de sua execução: DOCUMENT TO BLOB("C:\Scripts\MyScript.php";$blobDoc) Se executa o script: $err:=PHP Execute("C:\Scripts\MyScript.php";"function2Rename_v2";*) Recuperação direta de um valor de tipo data e hora. Este é o conteúdo do script: <?php Recepção da data do lado 4D: C_DATE($phpResult_date) Distribuição de dados em arrays: ARRAY TEXT($arText ;0) Inicialização de um array: ARRAY TEXT($arText ;0) Passo de parâmetros através de um array: ARRAY INTEGER($arInt;0) Este é um exemplo da utilização básica da função trim, para eliminar espaços adicionais e/ou caracteres invisíveis de princípio a fim de uma cadeia: C_TEXT($T_String)
Ver também
Executar scripts PHP em 4D
|
PROPRIEDADES
Produto: 4D
HISTÓRIA
Criado por: 4D v12 ARTICLE USAGE
Manual de linguagem 4D ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||