0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-12-22 08:11:52 +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
--FILE--
<?php
#[AllowDynamicProperties]
class MyArray implements ArrayAccess, Countable {
private $data = Array('one', 'two', 'three');

View File

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