public function parse(&$var, Kint_Object &$o) { if (!is_string($var) || !preg_match('/0\\.[0-9]{8} [0-9]{10}/', $var)) { return; } if ($o->name !== 'microtime()' || $o->depth !== 0) { return; } list($usec, $sec) = explode(' ', $var); $time = (double) $usec + (double) $sec; if (self::$last !== null) { $last_time = array_sum(array_map('floatval', explode(' ', self::$last))); $lap = $time - $last_time; ++self::$times; } else { $lap = null; self::$start = $time; } self::$last = $var; if ($lap !== null) { $total = $time - self::$start; $r = new Kint_Object_Representation_Microtime(self::$group, $lap, $total, self::$times); } else { $r = new Kint_Object_Representation_Microtime(self::$group); } $r->contents = $var; $r->implicit_label = true; $o->removeRepresentation($o->value->name); $o->addRepresentation($r); }
public function parse(&$var, Kint_Object &$o) { if (!is_string($var) || strlen($var) > 2048 || preg_match('[[:?<>"*|]]', $var) || !@is_readable($var)) { return; } if (class_exists('SplFileInfo')) { $r = new Kint_Object_Representation_FsPath(new SplFileInfo($var)); $o->addRepresentation($r, 0); } }
public function parse(&$var, Kint_Object &$o) { if (!is_string($var) || !preg_match('%^(?:[A-Za-z0-9+/=]{4})+$%', $var)) { return; } $data = base64_decode($var); if ($data === false) { return; } $base_obj = new Kint_Object(); $base_obj->depth = $o->depth + 1; $base_obj->name = 'base64_decode(' . $o->name . ')'; if ($o->access_path) { $base_obj->access_path = 'base64_decode(' . $o->access_path . ')'; } $r = new Kint_Object_Representation('Base64'); $r->contents = $this->parser->parse($data, $base_obj); $o->addRepresentation($r, 0); }
public function parse(&$var, Kint_Object &$o) { if (!is_string($var) || !isset($var[0]) || $var[0] !== '{' && $var[0] !== '[' || ($json = json_decode($var, true)) === null) { return; } $json = (array) $json; if (empty($json)) { return; } $base_obj = new Kint_Object(); $base_obj->depth = $o->depth; if ($o->access_path) { $base_obj->access_path = 'json_decode(' . $o->access_path . ', true)'; } $r = new Kint_Object_Representation('Json'); $r->contents = $this->parser->parse($json, $base_obj); if (!in_array('depth_limit', $r->contents->hints)) { $r->contents = $r->contents->value->contents; } $o->addRepresentation($r, 0); }
public function parse(&$var, Kint_Object &$o) { if (!is_string($var) || substr($var, 0, 5) !== '<?xml') { return; } if (!method_exists($this, 'xmlTo' . self::$parse_method)) { return; } $xml = call_user_func(array(get_class($this), 'xmlTo' . self::$parse_method), $var, $o->access_path); if (empty($xml)) { return; } list($xml, $access_path, $name) = $xml; $base_obj = new Kint_Object(); $base_obj->depth = $o->depth + 1; $base_obj->name = $name; $base_obj->access_path = $access_path; $r = new Kint_Object_Representation('XML'); $r->contents = $this->parser->parse($xml, $base_obj); $o->addRepresentation($r, 0); }
public function parse(&$var, Kint_Object &$o) { if (!is_string($var)) { return; } $trimmed = rtrim($var); if ($trimmed !== 'N;' && !preg_match('/^[COabdis]:\\d+[:;]/', $trimmed)) { return; } // Second parameter only supported on PHP 7 if (KINT_PHP70) { // Suppress warnings on unserializeable variable $data = @unserialize($trimmed, self::$options); } else { $data = @unserialize($trimmed); } if ($data === false && $trimmed !== 'b:0;') { return; } $base_obj = new Kint_Object(); $base_obj->depth = $o->depth + 1; $base_obj->name = 'unserialize(' . $o->name . ')'; if ($o->access_path) { $base_obj->access_path = 'unserialize(' . $o->access_path; if (!KINT_PHP70 || self::$options === array(true)) { $base_obj->access_path .= ')'; } elseif (self::$options === array(false)) { $base_obj->access_path .= ', false)'; } else { $base_obj->access_path .= ', Kint_Parser_Plugin_Serialize::$options)'; } } $r = new Kint_Object_Representation('Serialized'); $r->contents = $this->parser->parse($data, $base_obj); if (!in_array('depth_limit', $r->contents->hints) && is_array($data)) { $r->contents = $r->contents->value->contents; } $o->addRepresentation($r, 0); }
private function parseUnknown(&$var, Kint_Object $o) { $o->type = 'unknown'; $rep = new Kint_Object_Representation('Unknown'); $rep->contents = var_export($variable, true); $o->addRepresentation($rep); return $o; }