1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace Symfony\Component\Yaml;
- class Dumper
- {
-
- protected $indentation = 4;
-
- public function setIndentation($num)
- {
- if ($num < 1) {
- throw new \InvalidArgumentException('The indentation must be greater than zero.');
- }
- $this->indentation = (int) $num;
- }
-
- public function dump($input, $inline = 0, $indent = 0, $exceptionOnInvalidType = false, $objectSupport = false)
- {
- $output = '';
- $prefix = $indent ? str_repeat(' ', $indent) : '';
- if ($inline <= 0 || !is_array($input) || empty($input)) {
- $output .= $prefix.Inline::dump($input, $exceptionOnInvalidType, $objectSupport);
- } else {
- $isAHash = Inline::isHash($input);
- foreach ($input as $key => $value) {
- $willBeInlined = $inline - 1 <= 0 || !is_array($value) || empty($value);
- $output .= sprintf('%s%s%s%s',
- $prefix,
- $isAHash ? Inline::dump($key, $exceptionOnInvalidType, $objectSupport).':' : '-',
- $willBeInlined ? ' ' : "\n",
- $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + $this->indentation, $exceptionOnInvalidType, $objectSupport)
- ).($willBeInlined ? "\n" : '');
- }
- }
- return $output;
- }
- }
|