An open API service indexing awesome lists of open source software.

https://github.com/raudius/luar

Lua interpreter for PHP
https://github.com/raudius/luar

Last synced: 11 months ago
JSON representation

Lua interpreter for PHP

Awesome Lists containing this project

README

          

# Luar

Luar is a Lua interpreter written in PHP.

Luar implements a reduced version of Lua and also packages some essential Lua libraries. As such Luar offers forward-compatibility with Lua with some minor caveats:

* The math/string libraries use PHP number/string handling; much of the edge-case behaviour has **not** been replicated (e.g. division by zero, integer overflow)
* Not all core functions and libraries are available, but a method is provided to inject your own
* Some language constructs are not implemented (e.g. variable attributes, go-to statements)

## Installation
```
composer require raudius/luar
```

## Usage

For more details read [the documentation](docs/README.md).

```php
$luar = new Luar();
$luar->assign('world', 'Moon');
$luar->assign('hello_world', function ($name='world') {
return "Hello, $name!";
});

$program = '
local greeting = hello_world(world)
print(greeting)

return greeting
';

$greeting = $luar->eval($program);
```