blob: 61d02d2406d66ad9b0653d761f45d591b46d69ee [file] [log] [blame]
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +02001<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\VarDumper\Cloner;
13
14/**
15 * DumperInterface used by Data objects.
16 *
17 * @author Nicolas Grekas <p@tchwork.com>
18 */
19interface DumperInterface
20{
21 /**
22 * Dumps a scalar value.
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +020023 */
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010024 public function dumpScalar(Cursor $cursor, string $type, string|int|float|bool|null $value);
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +020025
26 /**
27 * Dumps a string.
28 *
29 * @param string $str The string being dumped
30 * @param bool $bin Whether $str is UTF-8 or binary encoded
31 * @param int $cut The number of characters $str has been cut by
32 */
33 public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut);
34
35 /**
36 * Dumps while entering an hash.
37 *
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010038 * @param int $type A Cursor::HASH_* const for the type of hash
39 * @param string|int|null $class The object class, resource type or array count
40 * @param bool $hasChild When the dump of the hash has child item
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +020041 */
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010042 public function enterHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild);
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +020043
44 /**
45 * Dumps while leaving an hash.
46 *
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010047 * @param int $type A Cursor::HASH_* const for the type of hash
48 * @param string|int|null $class The object class, resource type or array count
49 * @param bool $hasChild When the dump of the hash has child item
50 * @param int $cut The number of items the hash has been cut by
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +020051 */
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010052 public function leaveHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild, int $cut);
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +020053}