4D v16.3PHP Execute |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
PHP Execute
PHP Execute
La commande PHP Execute permet d’exécuter un script ou une fonction PHP. Passez dans le paramètre cheminScript le chemin d’accès du fichier de script PHP à exécuter. Il peut s’agir d’un chemin d’accès relatif si le fichier est situé à côté de la structure de la base ou d’un chemin absolu. Le chemin d’accès peut être exprimé en syntaxe système ou Posix. Passez dans le paramètre nomFonction un nom de fonction PHP si vous souhaitez exécuter une fonction spécifique dans le script cheminScript. Si vous passez une chaîne vide ou omettez le paramètre nomFonction, le script est exécuté entièrement. Note : PHP tient compte de la casse des caractères dans le nom de la fonction. N’utilisez pas de parenthèses, saisissez uniquement le nom de la fonction. Le paramètre résultatPHP reçoit le résultat de l’exécution de la fonction PHP. Vous pouvez passer soit :
résultatPHP peut être de type texte, entier long, réel, booléen, date ainsi que (hormis pour les tableaux) BLOB et heure. 4D effectuera la conversion des données et les ajustements nécessaires suivant les principes décrits dans le paragraphe Conversion of data returned ci-dessous.
Si vous appelez une fonction PHP qui attend des arguments, utilisez le(s) paramètre(s) param1...N pour passer une ou plusieurs valeur(s). Les valeurs doivent être séparées par des points-virgules. Vous pouvez passer des valeurs de type alpha, texte, booléen, réel, entier, entier long, date ou heure. Les images, BLOBs et objets ne sont pas admis. Vous pouvez envoyer un tableau, il est nécessaire dans ce cas de passer un pointeur sur le tableau à la commande PHP Execute, sinon c'est l'index courant du tableau qui est envoyé sous forme d'entier (cf. exemple). La commande accepte tous les types de tableaux sauf les tableaux pointeur, les tableaux image et les tableaux 2D. Note : Pour des raisons techniques, la taille des paramètres passés via le protocole fast cgi ne doit pas dépasser 64 Ko. Vous devez tenir compte de cette limitation si vous utilisez des paramètres de type Texte. La commande retourne Vrai si l’exécution s’est déroulée correctement côté 4D, c’est-à-dire si le lancement de l’environnement d’exécution, l’ouverture du script et l’établissement de la communication avec l’interpréteur PHP ont été réussis. Dans le cas contraire, une erreur est générée, que vous pouvez intercepter avec la commande ON ERR CALL et analyser avec GET LAST ERROR STACK. Note : PHP permet de configurer la gestion d’erreurs. Pour plus d’informations, reportez-vous par exemple à la page http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting. Le tableau suivant précise comment 4D interprète et convertit les données retournées en fonction du type du paramètre résultatPHP.
(*) Par défaut, les en-têtes HTTP ne sont pas retournés : Note : Si vous devez récupérer de gros volumes de données via PHP, il est généralement plus efficace de passer par le canal du buffer stdOut (commande echo ou similaire) que par le retour de fonction. Pour plus d'informations, reportez-vous à la description de la commande PHP GET FULL RESPONSE. Vous pouvez utiliser la commande SET ENVIRONMENT VARIABLE pour définir des variables d’environment utilisées par le script. Attention : après un appel à LAUNCH EXTERNAL PROCESS ou PHP Execute, l’ensemble des variables d’environment est effacé. 4D propose les fonctions spéciales suivantes :
A noter que l’interpréteur est relancé automatiquement à la première requête envoyée par PHP Execute. Appel du script "myPhpFile.php" sans fonction. Voici le contenu du script : <<?php Le code 4D suivant : C_TEXT($result) ... affichera "Version php courante : 5.3" Appel de la fonction myPhpFunction dans le script "myNewScript.php" avec des paramètres. Voici le contenu du script : <?php Appel avec fonction : C_TEXT($result) Faire quitter l’interpréteur PHP : $ifOk:=PHP Execute("";"quit_4d_php") Gestion des erreurs : // Installation de la méthode de gestion d’erreurs La méthode PHP_errHandler est la suivante : phpCommError:="" Création dynamique par 4D d’un script avant son exécution : DOCUMENT TO BLOB("C:\\Scripts\\MonScript.php";$blobDoc) Le script est ensuite exécuté : $err:=PHP Execute("C:\\Scripts\\MonScript.php";"function2Rename_v2";*) Récupération directe d’une valeur de type date et heure. Voici le contenu du script : <?php Réception de la date côté 4D : C_DATE($phpResult_date) Répartition de données dans des tableaux : ARRAY TEXT($arText ;0) Initialisation d’un tableau : ARRAY TEXT($arText ;0) Passage de paramètres via un tableau : ARRAY INTEGER($arInt;0) Utilisation basique de la fonction trim de PHP permettant d'enlever les espaces et/ou caractères invisibles de part et d'autre d'une chaîne de caractères : C_TEXT($T_String) Pour plus d'informations sur la fonction trim, veuillez vous reporter à la documentation PHP.
Voir aussi
Exécuter des scripts PHP dans 4D
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
Créé : 4D v12 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||