0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-12-22 12:51:52 +00:00
V8 Javascript Engine for PHP — This PHP extension embeds the Google V8 Javascript Engine.
Go to file
2012-06-13 02:39:29 +00:00
js Initial import 2010-12-30 14:04:51 +00:00
samples Initial import 2010-12-30 14:04:51 +00:00
tests Initial import 2010-12-30 14:04:51 +00:00
config.m4 Initial import 2010-12-30 14:04:51 +00:00
CREDITS Initial import 2010-12-30 14:04:51 +00:00
Makefile.frag Initial import 2010-12-30 14:04:51 +00:00
package.xml - Preparing release 2012-06-13 02:39:29 +00:00
php_v8js_macros.h - Preparing release 2012-06-13 02:39:29 +00:00
php_v8js.h - Added Id tag property to .h and .cc 2010-12-31 14:15:54 +00:00
README Initial import 2010-12-30 14:04:51 +00:00
test.php Initial import 2010-12-30 14:04:51 +00:00
TODO Initial import 2010-12-30 14:04:51 +00:00
v8js_convert.cc - Fixed build in 5.4+ 2012-06-13 02:24:48 +00:00
v8js_methods.cc - Fixed build in 5.4+ 2012-06-13 02:24:48 +00:00
v8js_variables.cc Initial import 2010-12-30 14:04:51 +00:00
v8js.cc - Fixed build in 5.4+ 2012-06-13 02:24:48 +00:00

V8Js
====

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


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

- V8 library version 2.5.8 <http://code.google.com/p/v8/> (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 )
}