# La classe LuaSandbox

(PECL luasandbox >= 1.0.0)

## Introduction

La classe LuaSandbox crée un environnement Lua et permet l'exécution de code Lua.

## Synopsis de la classe

class LuaSandbox {
/* Constantes */
const int SAMPLES = 0;
const int SECONDS = 1;
const int PERCENT = 2;
/* Méthodes */
public callFunction(string `$name`, mixed `...$args`): array|bool
public disableProfiler(): void
public enableProfiler(float `$period` = 0.02): bool
public getCPUUsage(): float
public getMemoryUsage(): int
public getPeakMemoryUsage(): int
public getProfilerFunctionReport(int `$units` = LuaSandbox::SECONDS): array
public static getVersionInfo(): array
public loadBinary(string `$code`, string `$chunkName` = ''): LuaSandboxFunction
public loadString(string `$code`, string `$chunkName` = ''): LuaSandboxFunction
public pauseUsageTimer(): bool
public registerLibrary(string `$libname`, array `$functions`): void
public setCPULimit(float|bool `$limit`): void
public setMemoryLimit(int `$limit`): void
public unpauseUsageTimer(): void
public wrapPhpFunction(callable `$function`): LuaSandboxFunction
}

## Constantes pré-définies

`LuaSandbox::SAMPLES`

  Utilisé avec LuaSandbox::getProfilerFunctionReport() pour retourner les durées en échantillons.

`LuaSandbox::SECONDS`

  Utilisé avec LuaSandbox::getProfilerFunctionReport() pour retourner les durées en secondes.

`LuaSandbox::PERCENT`

  Utilisé avec LuaSandbox::getProfilerFunctionReport() pour retourner les durées en pourcentages du total.

## Sommaire

- LuaSandbox::callFunction — Appelle une fonction dans une variable globale Lua
- LuaSandbox::disableProfiler — Désactive le profileur
- LuaSandbox::enableProfiler — Active le profileur
- LuaSandbox::getCPUUsage — Récupère l'utilisation actuelle du temps CPU de l'environnement Lua
- LuaSandbox::getMemoryUsage — Récupère l'utilisation actuelle de la mémoire de l'environnement Lua
- LuaSandbox::getPeakMemoryUsage — Récupère le pic d'utilisation de la mémoire de l'environnement Lua
- LuaSandbox::getProfilerFunctionReport — Récupère les données du profileur
- LuaSandbox::getVersionInfo — Renvoie les versions de LuaSandbox et Lua
- LuaSandbox::loadBinary — Charge un morceau binaire précompilé dans l'environnement Lua
- LuaSandbox::loadString — Charge du code Lua dans l'environnement Lua
- LuaSandbox::pauseUsageTimer — Pause le minuteur d'utilisation du CPU
- LuaSandbox::registerLibrary — Enregistre un ensemble de fonctions PHP en tant que bibliothèque Lua
- LuaSandbox::setCPULimit — Définit la limite de temps CPU pour l'environnement Lua
- LuaSandbox::setMemoryLimit — Définit la limite de mémoire pour l'environnement Lua
- LuaSandbox::unpauseUsageTimer — Relance le minuteur mis en pause par LuaSandbox::pauseUsageTimer
- LuaSandbox::wrapPhpFunction — Envelope une fonction PHP dans une LuaSandboxFunction