0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-12-22 14:01:53 +00:00

PHP 8.2 compatibility

* tests/array_access_002.phpt - added #[AllowDynamicProperties] to the class MyArray
* tests/js-construct-protected-ctor.phpt - some change on how pph8.2 Exepctions references the line that caused the exception, when some call have multiple lines (eg: the executeString in this test), now references the line where the command started (first line) instead of the last line.
* V8Js Object Export: added to not enumerate magic methods __serialize and __unserialize - this two methods was added to DateTime objects and was causing tests/var_dump.phpt failing.
This commit is contained in:
Christiano Becker 2023-02-20 08:09:13 -03:00
parent 7515dde3b1
commit fab7a68717
3 changed files with 6 additions and 3 deletions

View File

@ -6,6 +6,7 @@ Test V8::executeString() : Use ArrayAccess with JavaScript native push method
v8js.use_array_access = 1 v8js.use_array_access = 1
--FILE-- --FILE--
<?php <?php
#[AllowDynamicProperties]
class MyArray implements ArrayAccess, Countable { class MyArray implements ArrayAccess, Countable {
private $data = Array('one', 'two', 'three'); private $data = Array('one', 'two', 'three');

View File

@ -52,7 +52,7 @@ object(V8JsScriptException)#%d (13) {
["file":protected]=> ["file":protected]=>
string(%d) "%s" string(%d) "%s"
["line":protected]=> ["line":protected]=>
int(29) int(%d)
["trace":"Exception":private]=> ["trace":"Exception":private]=>
array(1) { array(1) {
[0]=> [0]=>
@ -60,7 +60,7 @@ object(V8JsScriptException)#%d (13) {
["file"]=> ["file"]=>
string(%d) "%s" string(%d) "%s"
["line"]=> ["line"]=>
int(29) int(%d)
["function"]=> ["function"]=>
string(13) "executeString" string(13) "executeString"
["class"]=> ["class"]=>

View File

@ -395,7 +395,9 @@ static void v8js_named_property_enumerator(const v8::PropertyCallbackInfo<v8::Ar
IS_MAGIC_FUNC(ZEND_UNSET_FUNC_NAME) || IS_MAGIC_FUNC(ZEND_UNSET_FUNC_NAME) ||
IS_MAGIC_FUNC(ZEND_CALL_FUNC_NAME) || IS_MAGIC_FUNC(ZEND_CALL_FUNC_NAME) ||
IS_MAGIC_FUNC(ZEND_INVOKE_FUNC_NAME) || IS_MAGIC_FUNC(ZEND_INVOKE_FUNC_NAME) ||
IS_MAGIC_FUNC(ZEND_ISSET_FUNC_NAME)) { IS_MAGIC_FUNC(ZEND_ISSET_FUNC_NAME) ||
IS_MAGIC_FUNC("__serialize") ||
IS_MAGIC_FUNC("__unserialize")) {
continue; continue;
} }