Langages et normes: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
m (suppression correction car il duplique plusieurs fois...)
mNo edit summary
Tag: 2017 source edit
Line 41: Line 41:
*Dolibarr est écrit en PHP et supporte toutes versions PHP supérieures à la {{PHPMinVersion}}. Les fichiers doivent tous comporter l'extension .php
*Dolibarr est écrit en PHP et supporte toutes versions PHP supérieures à la {{PHPMinVersion}}. Les fichiers doivent tous comporter l'extension .php


*L'appel aux variables superglobales PHP doit passer par les opérateurs dédiés $_COOKIES, $_SERVER, $_ENV. Mais pour récupérer les contenus de $_GET ou $_POST, il faut passer par la fonction dolibarr [[Fonctions utiles Dolibarr|GETPOST()]] .
*L'appel aux variables superglobales PHP doit passer par les opérateurs dédiés $_COOKIES, $_SERVER, $_ENV. Mais pour récupérer les contenus de $_GET ou $_POST, il faut passer par la fonction dolibarr [[Fonctions utiles Dolibarr|GETPOST()]] ou [[Fonctions utiles Dolibarr|GETPOSTINT()]] .


Les autres opérateurs ($HTTP_SERVER_GET, ...) ayant été passés en deprecated au sein de PHP, ne doivent plus être utilisés. Ainsi le code doit fonctionner y compris quand l'option '''register_long_arrays''' est à off.
Les autres opérateurs ($HTTP_SERVER_GET, ...) ayant été passés en deprecated au sein de PHP, ne doivent plus être utilisés. Ainsi le code doit fonctionner y compris quand l'option '''register_long_arrays''' est à off.
Line 354: Line 354:


Par exemple:
Par exemple:
*1 fichier qui sert d'exemple de descripteur de module: '''myModule.class.php'''
*1 fichier qui sert d'exemple de descripteur de module: '''myModule.class.php'''
*1 fichier qui sert d'exemple de code pour faire une nouvelle classe: '''skeleton_class.class.php'''
*1 fichier qui sert d'exemple de code pour faire une nouvelle classe: '''skeleton_class.class.php'''
*1 fichier qui sert d'exemple de code pour faire une nouvelle page: '''skeleton_page.php'''
*1 fichier qui sert d'exemple de code pour faire une nouvelle page: '''skeleton_page.php'''
*1 fichier qui sert d'exemple de code pour faire un script à exécuter en ligne de commande: '''skeleton_script.php'''
*1 fichier qui sert d'exemple de code pour faire un script à exécuter en ligne de commande: '''skeleton_script.php'''
...
...


Line 412: Line 410:
</syntaxhighlight>
</syntaxhighlight>


Mais cette solution requiert de faire un include avoir la fonction versioncompare. Une alternative est d'utiliser le test suivant :
Mais cette solution requiert de faire un include avoir la fonction versioncompare. Une alternative est d'utiliser le test suivant:
<syntaxhighlight lang="PHP">
<syntaxhighlight lang="PHP">
if ((float) DOL_VERSION >= 5.0) { //mycode for 5.0 only; } // For dolibarr 5.0.*
if ((float) DOL_VERSION >= 5.0) { //mycode for 5.0 only; } // For dolibarr 5.0.*
</syntaxhighlight>
</syntaxhighlight>
<br />


==Logs==
==Logs==

Navigation menu