Skip to content

Commit 07d3df9

Browse files
authored
Merge pull request #330 from stesie/mark-extensions-deprecated
Mark extensions deprecated
2 parents b9bde37 + 22bcf85 commit 07d3df9

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

tests/extensions_basic.phpt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@ var_dump(V8JS::getExtensions());
1313
$a = new V8Js('myobj', array(), array('a'));
1414
?>
1515
===EOF===
16-
--EXPECT--
16+
--EXPECTF--
17+
Deprecated: Function V8Js::registerExtension() is deprecated in %s%eextensions_basic.php on line 3
18+
19+
Deprecated: Function V8Js::registerExtension() is deprecated in %s%eextensions_basic.php on line 4
20+
21+
Deprecated: Function V8Js::getExtensions() is deprecated in %s%eextensions_basic.php on line 6
1722
array(2) {
1823
["a"]=>
1924
array(2) {
@@ -31,5 +36,7 @@ array(2) {
3136
bool(false)
3237
}
3338
}
39+
40+
Deprecated: V8Js::__construct(): Use of extensions is deprecated, $extensions array passed in %s%eextensions_basic.php on line 8
3441
Hello world!
3542
===EOF===

tests/extensions_circular_dependency.phpt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ var_dump(V8JS::getExtensions());
1313
$a = new V8Js('myobj', array(), array('a'));
1414
?>
1515
--EXPECTF--
16+
Deprecated: Function V8Js::registerExtension() is deprecated in %s%eextensions_circular_dependency.php on line 3
17+
18+
Deprecated: Function V8Js::registerExtension() is deprecated in %s%eextensions_circular_dependency.php on line 4
19+
20+
Deprecated: Function V8Js::getExtensions() is deprecated in %s%eextensions_circular_dependency.php on line 6
1621
array(2) {
1722
["a"]=>
1823
array(2) {
@@ -36,6 +41,8 @@ array(2) {
3641
}
3742
}
3843

44+
Deprecated: V8Js::__construct(): Use of extensions is deprecated, $extensions array passed in %s%eextensions_circular_dependency.php on line 8
45+
3946
Warning: Fatal V8 error in v8::Context::New(): Circular extension dependency in %s on line 8
4047

4148
Fatal error: Uncaught V8JsException: Failed to create V8 context. Check that registered extensions do not have errors. in %s:8

tests/extensions_error.phpt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ var_dump($v8);
3838
===EOF===
3939
--EXPECTF--
4040
-- registerExtension --
41+
42+
Deprecated: Function V8Js::registerExtension() is deprecated in %s%eextensions_error.php on line 5
4143
-- creating V8Js object --
4244
Error installing extension 'handlebars'.
4345

v8js_class.cc

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,11 @@ static PHP_METHOD(V8Js, __construct)
401401
if (exts_arr)
402402
{
403403
exts_count = zend_hash_num_elements(Z_ARRVAL_P(exts_arr));
404+
405+
if (exts_count != 0) {
406+
php_error_docref(NULL, E_DEPRECATED, "Use of extensions is deprecated, $extensions array passed");
407+
}
408+
404409
if (v8js_create_ext_strarr(&exts, exts_count, Z_ARRVAL_P(exts_arr)) == FAILURE) {
405410
zend_throw_exception(php_ce_v8js_exception,
406411
"Invalid extensions array passed", 0);
@@ -1267,8 +1272,8 @@ const zend_function_entry v8js_methods[] = { /* {{{ */
12671272
PHP_ME(V8Js, setTimeLimit, arginfo_v8js_settimelimit, ZEND_ACC_PUBLIC)
12681273
PHP_ME(V8Js, setMemoryLimit, arginfo_v8js_setmemorylimit, ZEND_ACC_PUBLIC)
12691274
PHP_ME(V8Js, setAverageObjectSize, arginfo_v8js_setaverageobjectsize, ZEND_ACC_PUBLIC)
1270-
PHP_ME(V8Js, registerExtension, arginfo_v8js_registerextension, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
1271-
PHP_ME(V8Js, getExtensions, arginfo_v8js_getextensions, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
1275+
PHP_ME(V8Js, registerExtension, arginfo_v8js_registerextension, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_DEPRECATED)
1276+
PHP_ME(V8Js, getExtensions, arginfo_v8js_getextensions, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_DEPRECATED)
12721277
PHP_ME(V8Js, createSnapshot, arginfo_v8js_createsnapshot, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
12731278
{NULL, NULL, NULL}
12741279
};

0 commit comments

Comments
 (0)