V8Js::registerExtension

(PECL v8js >= 0.1.0)

V8Js::registerExtensionRegister Javascript extensions for V8Js

Description

public static bool V8Js::registerExtension ( string $extension_name , string $script [, array $dependencies = array() [, bool $auto_enable = FALSE ]] )

Registers passed Javascript script as extension to be used in V8Js contexts.

Parameters

extension_name

Name of the extension to be registered.

script

The Javascript code to be registered.

dependencies

Array of extension names the extension to be registered depends on. Any such extension is enabled automatically when this extension is loaded.

Note:

All extensions, including the dependencies, must be registered before any V8Js are created which use them.

auto_enable

If set to TRUE, the extension will be enabled automatically in all V8Js contexts.

Return Values

Returns TRUE if extension was registered successfully, FALSE otherwise.

Коментарии

Usage sample:

if (V8Js::registerExtension('myjs', 'var x = 1 + 1;', array(), true) === false) {
    exit("Failed to register js extension script");
}

$v8js = new V8Js;

$jsExec = <<<EOD
x;
EOD;

echo $v8js->executeString($jsExec)."\n";    // print "2"
2014-10-15 20:26:28
http://php5.kiev.ua/manual/ru/v8js.registerextension.html
Автор:
Note that since version 2.0.0 V8Js::registerExtension is deprecated and suggests use snapshots instead https://github.com/phpv8/v8js/releases/tag/2.0.0
Simple example using snapshots and the moment.js:

<?php 
$script 
file_get_contents('https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js');

$snapshot V8Js::createSnapshot($script);
$v8 = new V8Js('php', array(), array(), true$snapshot);

echo 
$v8->executeString('moment().format()');
?>

Side-note: If you value speed, security and stability do not use file_get_contents to grab external javascripts on production servers.
2019-07-12 01:22:10
http://php5.kiev.ua/manual/ru/v8js.registerextension.html

    Поддержать сайт на родительском проекте КГБ