mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
53aa53f42f
This PR introduces a new way of recursion protection in JSON, var_dump and friends. It fixes issue in master for __debugInfo and also improves perf for jsonSerializable in some cases. More info can be found in GH-10020. Closes GH-11812
27 lines
447 B
PHP
27 lines
447 B
PHP
--TEST--
|
|
json_encode() Recursion test with just JsonSerializable
|
|
--FILE--
|
|
<?php
|
|
|
|
class SerializingTest implements JsonSerializable
|
|
{
|
|
public $a = 1;
|
|
|
|
private $b = 'hide';
|
|
|
|
protected $c = 'protect';
|
|
|
|
public function jsonSerialize(): mixed
|
|
{
|
|
$result = json_encode($this);
|
|
var_dump($result);
|
|
return $this;
|
|
}
|
|
}
|
|
|
|
var_dump(json_encode(new SerializingTest()));
|
|
?>
|
|
--EXPECT--
|
|
bool(false)
|
|
string(7) "{"a":1}"
|