blob: 6d60b723c7f7931941542c80561146676c872305 [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.
23 *
24 * @param string $type The PHP type of the value being dumped
25 * @param string|int|float|bool $value The scalar value being dumped
26 */
27 public function dumpScalar(Cursor $cursor, string $type, $value);
28
29 /**
30 * Dumps a string.
31 *
32 * @param string $str The string being dumped
33 * @param bool $bin Whether $str is UTF-8 or binary encoded
34 * @param int $cut The number of characters $str has been cut by
35 */
36 public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut);
37
38 /**
39 * Dumps while entering an hash.
40 *
41 * @param int $type A Cursor::HASH_* const for the type of hash
42 * @param string|int $class The object class, resource type or array count
43 * @param bool $hasChild When the dump of the hash has child item
44 */
45 public function enterHash(Cursor $cursor, int $type, $class, bool $hasChild);
46
47 /**
48 * Dumps while leaving an hash.
49 *
50 * @param int $type A Cursor::HASH_* const for the type of hash
51 * @param string|int $class The object class, resource type or array count
52 * @param bool $hasChild When the dump of the hash has child item
53 * @param int $cut The number of items the hash has been cut by
54 */
55 public function leaveHash(Cursor $cursor, int $type, $class, bool $hasChild, int $cut);
56}