The V8Js class

(No version information available, might only be in SVN)


This is the core class for V8Js extension. Each instance created from this class has own context in which all Javascript is compiled and executed.

See V8Js::__construct() for more information.

Krótki opis klasy

V8Js {
/* Constants */
const string V8_VERSION ;
const integer FLAG_NONE = 1 ;
const integer FLAG_FORCE_ARRAY = 2 ;
/* Methods */
public __construct ([ string $object_name = "PHP" [, array $variables = array() [, array $extensions = array() [, bool $report_uncaught_exceptions = TRUE ]]]] )
public mixed executeString ( string $script [, string $identifier = "V8Js::executeString()" [, int $flags = V8Js::FLAG_NONE ]] )
public static array getExtensions ( void )
public V8JsException getPendingException ( void )
public static bool registerExtension ( string $extension_name , string $script [, array $dependencies = array() [, bool $auto_enable = FALSE ]] )

Stałe predefiniowane


The V8 Javascript Engine version.


No flags.


Forces all JS objects to be associative arrays in PHP.

Spis treści

add a note add a note

User Contributed Notes 4 notes

mateusz dot charytoniuk at gmail dot com
4 years ago
This extension can be used to provide server-side and client-side form validation by executing the same JavaScript code at both places.
Hoffmann dot P-no-sp at m-gmx dot net
1 year ago
You can use function variables (jay!)

So the following works:

$add = function ($a, $b) {
    return $a + $b;
$v8 = new V8Js('PHP', array('add' => 'add'));
$result = $v8->executeString('PHP.add(1,2)');

yields indeed:
mateusz dot charytoniuk at gmail dot com
2 years ago
v8js can be also used to render server-side javascript components (see: React.js).
stamster at gmail dot com
10 months ago
Take note that just instantiating V8 class / binary .so will add at least 5ms to your app/script runtime.

Test from LAN (minimum network latency):

PHP 7.0.x w/o instantiating V8JS class: 1ms
PHP 7.0.x with V8JS object: 6-7ms

Running V8 engine v5.8.0

It's not a big deal, but comparing to PhalconPHP framework which adds almost 0 additional latency at runtime, V8JS adds 5-6 times more of latency/overhead.
To Top