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
- Host: GitHub
- URL: https://github.com/raudius/luar
- Owner: Raudius
- License: gpl-3.0
- Created: 2022-10-30T15:33:40.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-15T21:25:47.000Z (almost 3 years ago)
- Last Synced: 2025-07-12T08:41:38.955Z (11 months ago)
- Language: PHP
- Homepage:
- Size: 241 KB
- Stars: 14
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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);
```