README: Fix 'Caveats' section, add 'Roadmap' section

This commit is contained in:
Alex Palaistras 2016-11-02 21:51:44 +00:00
parent 7d837a1fe4
commit 8ad73e9fed
1 changed files with 12 additions and 1 deletions

View File

@ -26,9 +26,20 @@ Executing PHP [script files][Context.Exec] as well as [inline strings][Context.E
It is possible to [attach Go method receivers][NewReceiver] as PHP classes, with full support for calling expored methods, as well as getting and setting embedded fields (for `struct`-type method receivers).
## Roadmap
Currently, the package lacks in several respects:
* ZTS/multi-threading support. This basically means using Go-PHP in Goroutines is severely limited.
* Documentation and examples, both package-level and external.
* Performance. There's no reason to believe Go-PHP suffers from any serious performance issues in particular, but adding benchmarks, especially compared against vanilla PHP, might help.
* Your feature request here?
These items will be tackled in order of significance (which may not be the order shown above).
### Caveats
Be aware that, by default, PHP is **not** designed to be used in multithreaded environments (which severely restricts the use of these bindings with Goroutines) if not built with [ZTS support](https://secure.php.net/manual/en/pthreads.requirements.php). However, ZTS support has been removed from PHP 7, and as such is unsupported by this package (even for PHP 5 targets).
Be aware that, by default, PHP is **not** designed to be used in multithreaded environments (which severely restricts the use of these bindings with Goroutines) if not built with [ZTS support](https://secure.php.net/manual/en/pthreads.requirements.php). However, ZTS support has seen major refactoring between PHP 5 and PHP 7, and as such is currently unsupported by this package.
Currently, it is recommended to either sync use of seperate Contexts between Goroutines, or share a single Context among all running Goroutines.