[ Index ] |
PHP Cross Reference of phpBB-3.1.12-deutsch |
[Summary view] [Print] [Text view]
1 <?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 12 namespace Symfony\Component\Yaml; 13 14 /** 15 * Dumper dumps PHP variables to YAML strings. 16 * 17 * @author Fabien Potencier <fabien@symfony.com> 18 */ 19 class Dumper 20 { 21 /** 22 * The amount of spaces to use for indentation of nested nodes. 23 * 24 * @var int 25 */ 26 protected $indentation = 4; 27 28 /** 29 * Sets the indentation. 30 * 31 * @param int $num The amount of spaces to use for indentation of nested nodes. 32 */ 33 public function setIndentation($num) 34 { 35 if ($num < 1) { 36 throw new \InvalidArgumentException('The indentation must be greater than zero.'); 37 } 38 39 $this->indentation = (int) $num; 40 } 41 42 /** 43 * Dumps a PHP value to YAML. 44 * 45 * @param mixed $input The PHP value 46 * @param int $inline The level where you switch to inline YAML 47 * @param int $indent The level of indentation (used internally) 48 * @param bool $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise 49 * @param bool $objectSupport true if object support is enabled, false otherwise 50 * 51 * @return string The YAML representation of the PHP value 52 */ 53 public function dump($input, $inline = 0, $indent = 0, $exceptionOnInvalidType = false, $objectSupport = false) 54 { 55 $output = ''; 56 $prefix = $indent ? str_repeat(' ', $indent) : ''; 57 58 if ($inline <= 0 || !is_array($input) || empty($input)) { 59 $output .= $prefix.Inline::dump($input, $exceptionOnInvalidType, $objectSupport); 60 } else { 61 $isAHash = Inline::isHash($input); 62 63 foreach ($input as $key => $value) { 64 $willBeInlined = $inline - 1 <= 0 || !is_array($value) || empty($value); 65 66 $output .= sprintf('%s%s%s%s', 67 $prefix, 68 $isAHash ? Inline::dump($key, $exceptionOnInvalidType, $objectSupport).':' : '-', 69 $willBeInlined ? ' ' : "\n", 70 $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + $this->indentation, $exceptionOnInvalidType, $objectSupport) 71 ).($willBeInlined ? "\n" : ''); 72 } 73 } 74 75 return $output; 76 } 77 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Jan 11 00:25:41 2018 | Cross-referenced by PHPXref 0.7.1 |