V8 Javascript Engine for PHP — This PHP extension embeds the Google V8 Javascript Engine
fork from : https://github.com/phpv8/v8js.git

Stefan Siegl a951b82a40 Use persistent context + Dispose il y a 12 ans
js 1c23a38026 Initial import il y a 14 ans
samples 7e90439cdf Make sure all tests and samples use the new exception class name V8JsScriptException. il y a 12 ans
tests de2479aca6 fixed tests using absolute urls il y a 12 ans
CREDITS f9d363c64e add Simon Best to credits il y a 12 ans
Makefile.frag 1c23a38026 Initial import il y a 14 ans
README ba27e5eb2b small fix in github readme il y a 12 ans
README.md 9c9500dbc5 More updates to GitHub README. il y a 12 ans
TODO 1c23a38026 Initial import il y a 14 ans
config.m4 4a82311b4d fix mutex issue and c++11 support on Ubuntu — remove stray EOL marker il y a 12 ans
package.xml 0db973bee3 Fix version il y a 12 ans
php_v8js.h 7593cbcc59 Update copyright information il y a 13 ans
php_v8js_macros.h 4a82311b4d fix mutex issue and c++11 support on Ubuntu — remove stray EOL marker il y a 12 ans
test.php 7e90439cdf Make sure all tests and samples use the new exception class name V8JsScriptException. il y a 12 ans
v8js.cc a951b82a40 Use persistent context + Dispose il y a 12 ans
v8js_commonjs.cc 8ae7606338 Refactor CommonJS modules functionality to store state in the extension globals and context as appropriate. il y a 12 ans
v8js_convert.cc 6f44220328 fix merge conflict il y a 12 ans
v8js_methods.cc 98638c78db fix for format '%d' expects argument of type 'int', but argument 2 has type 'size_t {aka long unsigned int}' [-Wformat] il y a 12 ans
v8js_variables.cc 8d8c671aa0 V8 isolates need to be passed into all variable accessor and conversion functions. il y a 12 ans

README

V8Js
====

V8js is a PHP extension for Google's V8 Javascript engine


Minimum requirements
--------------------

- V8 library version 2.5.8 (trunk)

- PHP 5.3.3+ (non-ZTS build preferred)
Note: V8 engine is not natively thread safe and this extension
has not been designed to work around it either yet and might or
might not work properly with ZTS enabled PHP. :)


API
===

class V8Js
{
/* Constants */

const string V8_VERSION;
const int FLAG_NONE;
const int FLAG_FORCE_ARRAY;

/* Methods */

// Initializes and starts V8 engine and Returns new V8Js object with it's own V8 context.
public __construct ( [string object_name = "PHP" [, array variables = NULL [, array extensions = NULL [, bool report_uncaught_exceptions = TRUE]]] )

// Compiles and executes script in object's context with optional identifier string.
public mixed V8Js::executeString( string script [, string identifier [, int flags = V8Js::FLAG_NONE]])

// Returns uncaught pending exception or null if there is no pending exception.
public V8JsException V8Js::getPendingException( void )

/** Static methods **/

// Registers persistent context independent global Javascript extension.
// NOTE! These extensions exist until PHP is shutdown and they need to be registered before V8 is initialized.
// For best performance V8 is initialized only once per process thus this call has to be done before any V8Js objects are created!
public static bool V8Js::registerExtension(string ext_name, string script [, array deps [, bool auto_enable = FALSE]])

// Returns extensions successfully registered with V8Js::registerExtension().
public static array V8Js::getExtensions( void )
}

final class V8JsException extends Exception
{
/* Properties */
protected string JsFileName = NULL;
protected int JsLineNumber = NULL;
protected string JsSourceLine = NULL;
protected string JsTrace = NULL;

/* Methods */
final public string getJsFileName( void )
final public int getJsLineNumber( void )
final public string getJsSourceLine( void )
final public string getJsTrace( void )
}