4D v14.3PHP Executer |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
PHP Executer
PHP Executer
La commande PHP Executer 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 des données retournées 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 et les BLOBs 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 Executer, 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 APPELER SUR ERREUR et analyser avec LIRE PILE DERNIERE ERREUR. 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 LIRE REPONSE COMPLETE. Vous pouvez utiliser la commande FIXER VARIABLE ENVIRONNEMENT pour définir des variables d’environment utilisées par le script. Attention : après un appel à LANCER PROCESS EXTERNE ou PHP Executer, 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 Executer. Appel du script "myPhpFile.php" sans fonction. Voici le contenu du script : <<?php Le code 4D suivant : C_TEXTE($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 : Faire quitter l’interpréteur PHP : $ifOk:=PHP Executer("";"quit_4d_php") Gestion des erreurs : // Installation de la méthode de getion d’erreurs La méthode PHP_errHandler est la suivante : phpCommError:="" Création dynamique par 4D d’un script avant son exécution : DOCUMENT VERS BLOB("C:\\Scripts\\MonScript.php";$blobDoc) Le script est ensuite exécuté : $err:=PHP Executer("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 : Répartition de données dans des tableaux : TABLEAU TEXTE($arText ;0) Initialisation d’un tableau : TABLEAU TEXTE($arText ;0) Passage de paramètres via un tableau : TABLEAU ENTIER($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_TEXTE($T_String) Pour plus d'informations sur la fonction trim, veuillez vous reporter à la documentation PHP. |
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
Créé : 4D v12 VOIR AUSSI
Exécuter des scripts PHP dans 4D UTILISATION DE L'ARTICLE
4D - Langage ( 4D v12.4) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||