🛠 This version is considered stable, and contains the following features and bug-fixes over version 0.9.0:
- 🏗 Building against PHP 7 is now supported. A large amount of work was done in order to support both versions 5.x and 7.x at the same time. #12
- ✅ Code was restructured and placed in a single directory, which resulted in the ability for better testing. #13 #14
- 🚚 ZTS support was removed, since it was never particularly well-tested or stable, and ZTS has been removed from PHP 7. #12
- 🛠 Several bugs and memory leaks fixed. #14 #16
🚀 Code coverage is approximately at 92%, and will be improved in the coming releases. The package does not currently contain benchmarks, and certain features (such as method receiver bindings) will probably be at least somewhat slow, due to heavy use of reflection. YMMV.
🚀 This is a beta/pre-release version, and may contain bugs or other general suckiness. Features include:
- Ability to execute PHP script files, as well as standalone strings within seperate execution contexts.
- Two-way bindings for values. This allows for binding Go values into PHP contexts as global variables, as well as returning PHP values for use in the Go context.
- 👍 Ability to define Go method receivers as PHP classes, with full support for calling attached methods, as well as getting, setting and checking for embedded fields (only for
- 🏗 Provisional support for ZTS-enabled PHP builds.
✅ Note that this library has only been tested against the PHP 5.6 series. Compatibility with other 5.x versions is unknown, and compatibility with PHP 7 is most definitely not there.
✅ While the included test-suite covers most common use-cases, code coverage is probably way below 100%. Next versions will include improvements to the test-suite to ensure 100% code coverage, at least for the Go parts.
📚 Documentation is also somewhat lacking.