4D v16.3PHP Execute |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
PHP Execute
PHP Execute
El comando PHP Execute permite ejecutar un script o una función PHP. Pase en el parámetro rutaScript la ruta de acceso del archivo de script PHP a ejecutar. Puede ser una ruta de acceso relativa si el archivo está ubicado junto a la estructura de la base o de una ruta absoluta. La ruta de acceso puede expresarse en sintaxis sistema o POSIX. Pase en el parámetro nomFuncion un nombre de función PHP si quiere ejecutar una función específica en el script rutaScript. Si pasa una cadena vacía u omite el parámetro nomFuncion, el script se ejecuta completamente. Nota: PHP tiene en cuenta las mayúsculas y minúsculas de los caracteres en el nombre de la función. No utilice paréntesis, introduzca únicamente el nombre de la función. El parámetro resultPHP recibe el resultado de la ejecución de la función PHP. Puede pasar:
El parámetro resultPHP puede ser de tipo texto, entero largo, real, booleano o fecha así como también (excepto para arrays) BLOB u hora. 4D efectuará la conversión de los datos y los ajustes necesarios siguiendo los principios descritos en la sección a continuación.
Si llama a una función PHP que espera argumentos, utilice los parámetros param1...N para pasar uno o varios valores. Los valores deben estar separados por punto y coma. Puede pasar valores de tipo alfa, texto, booleano, real, entero, entero largo, fecha u hora. Las imágenes y los BLOBs y objetos no se aceptan. Puede enviar un array; en este caso debe pasar un puntero en el array al comando PHP Execute, de lo contrario el índice actual del array se enviará como un entero (ver el ejemplo). El comando acepta todos los tipos de arrays excepto los arrays puntero, los arrays imagen y los arrays 2D. Nota: por razones técnicas, el tamaño de los parámetros pasados vía el protocolo FastCGI no debe pasar los 64 KB. Debe tener en cuenta esta limitación si utiliza parámetros de tipo Texto. El comando devuelve True si la ejecución se ha efectuado correctamente del lado de 4D, en otras palabras, si el lanzamiento del entorno de ejecución, la apertura del script y el establecimiento de la comunicación con el intérprete PHP fueron exitosos. De lo contrario, se genera un error, que puede interceptar con el comando ON ERR CALL y analizar con GET LAST ERROR STACK. Nota: PHP permite configurar la gestión de errores. Para mayor información, consulte por ejemplo la página: http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting. La siguiente tabla especifica cómo 4D interpreta y convierte los datos devueltos en función del tipo del parámetro resultPHP.
(*) Por defecto, no se devuelven los encabezados HTTP: Nota: si debe recuperar grandes volúmenes de datos utilizando PHP, es más eficiente pasar por el canal del buffer stdOut (comando echo o similar) que por el retorno de función. Para mayor información, consulte la descripción del comando PHP GET FULL RESPONSE. Puede utilizar el comando SET ENVIRONMENT VARIABLE para definir las variables de entorno utilizadas por el script. Atención: después de llamar LAUNCH EXTERNAL PROCESS o PHP Execute, el conjunto de las variables entorno se borra. 4D ofrece las siguientes funciones especiales:
Note que el intérprete se relanza automáticamente cuando la primera petición se envía por PHP Execute. Llamada del script "myPhpFile.php" sin función. Este es el contenido del script: <?php El siguiente código 4D: C_TEXT($result) ... mostrará "Versión PHP actual: 5.3" Llamada de la función myPhpFunction en el script "myNewScript.php" con parámetros. Este es el contenido del script: <?php Llamada con función: C_TEXT($result) Salir del intérprete PHP: $ifOk:=PHP Execute("";"quit_4d_php") Gestión de errores: // Instalación del método de gestión de errores El método PHP_errHandler es el siguiente: phpCommError:="" Creación dinámica por 4D de un script antes de su ejecución: DOCUMENT TO BLOB("C:\Scripts\MyScript.php";$blobDoc) Se ejecuta el script: $err:=PHP Execute("C:\Scripts\MyScript.php";"function2Rename_v2";*) Recuperación directa de un valor de tipo fecha y hora. Este es el contenido del script: <?php Recepción de la fecha del lado 4D: C_DATE($phpResult_date) Distribución de datos en arrays: ARRAY TEXT($arText ;0) Inicialización de un array: ARRAY TEXT($arText ;0) Paso de parámetros vía un array: ARRAY INTEGER($arInt;0) Este es un ejemplo de la utilización básica de la función trim, para eliminar espacios adicionales y/o caracteres invisibles de principio a fin de una cadena: C_TEXT($T_String)
Ver también
Ejecutar scripts PHP en 4D
|
PROPIEDADES
Producto: 4D
HISTORIA
Creado por: 4D v12 ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||