Skip to content
This repository was archived by the owner on Mar 29, 2024. It is now read-only.

Commit 22b33a1

Browse files
committed
Add rationale to readme [skip ci]
1 parent 9fa60cf commit 22b33a1

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

README.md

+20-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,25 @@ PHP extension for V8 JavaScript engine
88

99
**This extension is still under heavy development and its public API may change without any warning. Use at your own risk.**
1010

11+
## Why (aka Rationale)
12+
13+
This tool solves following domain problems:
14+
15+
- execute arbitrary untrusted code from user;
16+
- provide restricted/experimental api to end-user;
17+
- allow to use that with scripting/DSL language;
18+
- limit execution time and used memory;
19+
- use common language that is familiar to large audience;
20+
- be well-maintainable and mature.
21+
22+
By accident (not by design) this tool could also be used to:
23+
24+
- render React/Vue/Angular components in PHP;
25+
- implement node.js in PHP;
26+
- increase the number of "why", "why not just <...>" questions.
27+
28+
If you have any other use, feels free to share
29+
1130

1231
## About
1332
[php-v8](https://github.com/pinepain/php-v8) is a PHP 7.x extension
@@ -24,7 +43,7 @@ provides an accurate native V8 C++ API implementation available from PHP.
2443
- provides a both-way interaction with PHP and V8 objects, arrays and functions;
2544
- execution time and memory limits;
2645
- multiple isolates and contexts at the same time;
27-
- it works;
46+
- it works.
2847

2948
With this extension almost everything that the native V8 C++ API provides can be used. It provides a way to pass PHP scalars,
3049
objects and functions to the V8 runtime and specify interactions with passed values (objects and functions only, as scalars

0 commit comments

Comments
 (0)