/var/www/vhosts/nabawater/vendor/yiisoft/yii2/helpers
NameSizeModeActions
ArrayHelper.php5090644editdlrm
BaseArrayHelper.php350420644editdlrm
BaseConsole.php392990644editdlrm
BaseFileHelper.php371950644editdlrm
BaseFormatConverter.php315160644editdlrm
BaseHtml.php1111000644editdlrm
BaseHtmlPurifier.php23710644editdlrm
BaseInflector.php227300644editdlrm
BaseIpHelper.php39450644editdlrm
BaseJson.php86060644editdlrm
BaseMarkdown.php33230644editdlrm
BaseStringHelper.php175190644editdlrm
BaseUrl.php174020644editdlrm
BaseVarDumper.php104060644editdlrm
Console.php4130644editdlrm
FileHelper.php3550644editdlrm
FormatConverter.php5340644editdlrm
Html.php7680644editdlrm
HtmlPurifier.php6960644editdlrm
Inflector.php3940644editdlrm
IpHelper.php4790644editdlrm
Json.php5140644editdlrm
Markdown.php10530644editdlrm
mimeAliases.php1290644editdlrm
mimeTypes.php406760644editdlrm
ReplaceArrayValue.php19130644editdlrm
StringHelper.php3530644editdlrm
UnsetArrayValue.php11470644editdlrm
Url.php4500644editdlrm
VarDumper.php6580644editdlrm
Edit: /var/www/vhosts/nabawater/vendor/yiisoft/yii2/helpers/BaseVarDumper.php (10406B)
* @since 2.0 */ class BaseVarDumper { private static $_objects; private static $_output; private static $_depth; /** * Displays a variable. * This method achieves the similar functionality as var_dump and print_r * but is more robust when handling complex objects such as Yii controllers. * @param mixed $var variable to be dumped * @param int $depth maximum depth that the dumper should go into the variable. Defaults to 10. * @param bool $highlight whether the result should be syntax-highlighted */ public static function dump($var, $depth = 10, $highlight = false) { echo static::dumpAsString($var, $depth, $highlight); } /** * Dumps a variable in terms of a string. * This method achieves the similar functionality as var_dump and print_r * but is more robust when handling complex objects such as Yii controllers. * @param mixed $var variable to be dumped * @param int $depth maximum depth that the dumper should go into the variable. Defaults to 10. * @param bool $highlight whether the result should be syntax-highlighted * @return string the string representation of the variable */ public static function dumpAsString($var, $depth = 10, $highlight = false) { self::$_output = ''; self::$_objects = []; self::$_depth = $depth; self::dumpInternal($var, 0); if ($highlight) { $result = highlight_string("/', '', $result, 1); } return self::$_output; } /** * @param mixed $var variable to be dumped * @param int $level depth level */ private static function dumpInternal($var, $level) { switch (gettype($var)) { case 'boolean': self::$_output .= $var ? 'true' : 'false'; break; case 'integer': self::$_output .= (string)$var; break; case 'double': self::$_output .= (string)$var; break; case 'string': self::$_output .= "'" . addslashes($var) . "'"; break; case 'resource': self::$_output .= '{resource}'; break; case 'NULL': self::$_output .= 'null'; break; case 'unknown type': self::$_output .= '{unknown}'; break; case 'array': if (self::$_depth <= $level) { self::$_output .= '[...]'; } elseif (empty($var)) { self::$_output .= '[]'; } else { $keys = array_keys($var); $spaces = str_repeat(' ', $level * 4); self::$_output .= '['; foreach ($keys as $key) { self::$_output .= "\n" . $spaces . ' '; self::dumpInternal($key, 0); self::$_output .= ' => '; self::dumpInternal($var[$key], $level + 1); } self::$_output .= "\n" . $spaces . ']'; } break; case 'object': if (($id = array_search($var, self::$_objects, true)) !== false) { self::$_output .= get_class($var) . '#' . ($id + 1) . '(...)'; } elseif (self::$_depth <= $level) { self::$_output .= get_class($var) . '(...)'; } else { $id = array_push(self::$_objects, $var); $className = get_class($var); $spaces = str_repeat(' ', $level * 4); self::$_output .= "$className#$id\n" . $spaces . '('; if ('__PHP_Incomplete_Class' !== get_class($var) && method_exists($var, '__debugInfo')) { $dumpValues = $var->__debugInfo(); if (!is_array($dumpValues)) { throw new InvalidValueException('__debuginfo() must return an array'); } } else { $dumpValues = (array) $var; } foreach ($dumpValues as $key => $value) { $keyDisplay = strtr(trim($key), "\0", ':'); self::$_output .= "\n" . $spaces . " [$keyDisplay] => "; self::dumpInternal($value, $level + 1); } self::$_output .= "\n" . $spaces . ')'; } break; } } /** * Exports a variable as a string representation. * * The string is a valid PHP expression that can be evaluated by PHP parser * and the evaluation result will give back the variable value. * * This method is similar to `var_export()`. The main difference is that * it generates more compact string representation using short array syntax. * * It also handles objects by using the PHP functions serialize() and unserialize(). * * PHP 5.4 or above is required to parse the exported value. * * @param mixed $var the variable to be exported. * @return string a string representation of the variable */ public static function export($var) { self::$_output = ''; self::exportInternal($var, 0); return self::$_output; } /** * @param mixed $var variable to be exported * @param int $level depth level */ private static function exportInternal($var, $level) { switch (gettype($var)) { case 'NULL': self::$_output .= 'null'; break; case 'array': if (empty($var)) { self::$_output .= '[]'; } else { $keys = array_keys($var); $outputKeys = ($keys !== range(0, count($var) - 1)); $spaces = str_repeat(' ', $level * 4); self::$_output .= '['; foreach ($keys as $key) { self::$_output .= "\n" . $spaces . ' '; if ($outputKeys) { self::exportInternal($key, 0); self::$_output .= ' => '; } self::exportInternal($var[$key], $level + 1); self::$_output .= ','; } self::$_output .= "\n" . $spaces . ']'; } break; case 'object': if ($var instanceof \Closure) { self::$_output .= self::exportClosure($var); } else { try { $output = 'unserialize(' . var_export(serialize($var), true) . ')'; } catch (\Exception $e) { // serialize may fail, for example: if object contains a `\Closure` instance // so we use a fallback if ($var instanceof Arrayable) { self::exportInternal($var->toArray(), $level); return; } elseif ($var instanceof \IteratorAggregate) { $varAsArray = []; foreach ($var as $key => $value) { $varAsArray[$key] = $value; } self::exportInternal($varAsArray, $level); return; } elseif ('__PHP_Incomplete_Class' !== get_class($var) && method_exists($var, '__toString')) { $output = var_export($var->__toString(), true); } else { $outputBackup = self::$_output; $output = var_export(self::dumpAsString($var), true); self::$_output = $outputBackup; } } self::$_output .= $output; } break; default: self::$_output .= var_export($var, true); } } /** * Exports a [[Closure]] instance. * @param \Closure $closure closure instance. * @return string */ private static function exportClosure(\Closure $closure) { $reflection = new \ReflectionFunction($closure); $fileName = $reflection->getFileName(); $start = $reflection->getStartLine(); $end = $reflection->getEndLine(); if ($fileName === false || $start === false || $end === false) { return 'function() {/* Error: unable to determine Closure source */}'; } --$start; $source = implode("\n", array_slice(file($fileName), $start, $end - $start)); $tokens = token_get_all('