Php natif

 Les fonctions, variables et constantes du langage Php ou des extensions peuvent être utilisées à partir du code Scriptol.
Leur scope (espace de visibilité) est externe, ce qui signifie qu'elles sont visibles partout, dans le scope global, local ou celui des classes.


Variables

Les variables Php doivent être déclarées extern pour que le compilateur puisse gérer correctement leur scope. Une fois la variable Php déclarée ainsi, elle peut être utilisée comme une variable Scriptol.
Une instruction "extern" doit être placée en tête du fichier source, avec les instructions "include". Si une autre instruction est trouvée avant une extern ou include, celles-ci ne seront pas reconnues par le compilateur et un message d'erreur apparaîtra.

La syntaxe est
extern type identifieur

Exemples:

extern array argv                   ` ce tableau contient la ligne de commande
extern int argc                       ` ceci est le nombre d'éléments dans la commande
     ...
argv.display()                          ` affichage du contenu

Si le type Php est "mixed", le mot-clé "dyn" peut être utilisé en Scriptol.
Si le type Php est "string", l'équivalent Scriptol est "text".


Tableau de correspondance des types

Php
Scriptol
mixed
string
array
dyn
text
array ou dict



Fonctions

 Les fonctions Php sont utilisées directement par les programmes Scriptol. Il n'y a pas de contrôle des arguments par le compilateur. Si vous désirez que le compiateur effectue ces contrôles sur les fonctions Php, vous devez déclarer leur interface avec le mot-clé "extern".


Exemples extern array array_flip(array)
extern text substr(text, int, int dernier = 0)
...
array a2 = array_flip(a1)
text a = "demo"
print substr(a, 1, 1)
print substr(a, 2)
Affiche: > d
> mo


Constantes

Une constante Php est déclarée comme une variable, avec le modifieur "constant", et utilisée de la même façon.

Exemple:
extern constant text PHP_VERSION
...
print PHP_VERSION


Fichiers externes


Vous pouvez include un fichier Php dans un programme Scriptol. Il vous suffit d'utiliser une fonction Php:
  require("monfichier.php") ou
  require_once("monfichier.php")
L'argument de la fonction n'est pas testé, et le fichier n'est pas compilé non plus, mais vous pouvez utiliser les fonctions déclarées à l'intérieur, et vous pouvez utiliser ses variables dans le format Php: $nom.


Liste de fonctions prédéfinies
Php/C++
Fonction
number abs(number)
void assert(boolean)
number ceil(number)
text chr(integer)

boolean chdir(text)
void die(text message)
number doubleval(scalaire)
void exit()
number floor(number)
int intval(text t)
scalar min(scalaire, scalaire)
scalar max(scalaire, scalaire)
boolean mkdir(text)
natural naturalval(scalaire)
int ord(text)
constant char *plural(int)
number pow(number, number)
int rand()
void randomize()
array range(int x, int y)
boolean rename(text, text)
boolean rmdir(text)
number sqrt(number)
char *str(number)
text strval(number)
void swap(dyn, dyn)
void system(text command)
boolean unlink(text)
text pad(text t, len l [, text c ] [, int o]])




Retourne la valeur absolue d'un nombre.
Teste une condition, si faux fin du programme.
Retourne le nombre arrondi à l'entier supérieur.
Retourne le charactère pour une valeur ASCII.
Ex: chr(32) retourne un espace blanc.
Change le répertoire courant. Retourne true si ok.
Affiche un message en quittant le programme.
Convertit un nombre ou texte en nombre (double).
Quitte le programme.
Retourne le nombre arrondi à l'entier inférieur.
Convertit un texte ou type double en entier.
Retourne le plus petit de deux scalaires.
Retourne le plus grand de deux scalaires.
Crée un sous-répertoire. Retourne true si créé.
Convertit un nombre ou texte en nombre naturel.
Retourne la valeur ASCII d'un charactère.
Retourne le pluriel "s" si le nombre x > 0.
Retourne la puissance n d'un nombre.
Retourne un nombre aléatoire.
Démarre une séquence de nombres aléatoires.
Génère un tableau des entiers de x à y.
Renomme un fichier. Retourne faux si échec.
Efface un sous-répertoire. Retourne true si ok.
Retourne la racine d'un nombre.
Convertit un nombre en chaîne de charactères.
Convertit un nombre en texte.
Echange le contenu de deux variables.
Passe une commande au système d'exploitation.
Efface un fichier. Retourne true si effacé.
Complète un texte avec des espaces ou la chaîne de caractères donnée.
t: text à compléter. l: longueur à atteindre.
c: texte à ajouter, des espaces par défaut.
o: option STR_PAD_LEFT, STR_PAD_BOTH, par défaut à droite. (Voir: str_pad)

Par scalaire on entend une variable simple: text, entier, etc...