# The LuaSandbox class

(PECL luasandbox >= 1.0.0)

## Introduction

The LuaSandbox class creates a Lua environment and allows for execution of Lua code.

## Class synopsis

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

## Predefined Constants

`LuaSandbox::SAMPLES`
  Used with LuaSandbox::getProfilerFunctionReport() to return timings in samples.
`LuaSandbox::SECONDS`
  Used with LuaSandbox::getProfilerFunctionReport() to return timings in seconds.
`LuaSandbox::PERCENT`
  Used with LuaSandbox::getProfilerFunctionReport() to return timings in percentages of the total.

## Table of Contents

- LuaSandbox::callFunction — Call a function in a Lua global variable
- LuaSandbox::disableProfiler — Disable the profiler
- LuaSandbox::enableProfiler — Enable the profiler.
- LuaSandbox::getCPUUsage — Fetch the current CPU time usage of the Lua environment
- LuaSandbox::getMemoryUsage — Fetch the current memory usage of the Lua environment
- LuaSandbox::getPeakMemoryUsage — Fetch the peak memory usage of the Lua environment
- LuaSandbox::getProfilerFunctionReport — Fetch profiler data
- LuaSandbox::getVersionInfo — Return the versions of LuaSandbox and Lua
- LuaSandbox::loadBinary — Load a precompiled binary chunk into the Lua environment
- LuaSandbox::loadString — Load Lua code into the Lua environment
- LuaSandbox::pauseUsageTimer — Pause the CPU usage timer
- LuaSandbox::registerLibrary — Register a set of PHP functions as a Lua library
- LuaSandbox::setCPULimit — Set the CPU time limit for the Lua environment
- LuaSandbox::setMemoryLimit — Set the memory limit for the Lua environment
- LuaSandbox::unpauseUsageTimer — Unpause the timer paused by LuaSandbox::pauseUsageTimer
- LuaSandbox::wrapPhpFunction — Wrap a PHP callable in a LuaSandboxFunction

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open