class kintVariableData
Hierarchy
- class \kintVariableData
Expanded class hierarchy of kintVariableData
File
-
kint/
kint/ inc/ kintVariableData.class.php, line 3
View source
class kintVariableData {
/** @var string */
public $type;
/** @var string */
public $access;
/** @var string */
public $name;
/** @var string */
public $operator;
/** @var int */
public $size;
/**
* @var kintVariableData[] array of kintVariableData objects or strings; displayed collapsed, each element from
* the array is a separate possible representation of the dumped var
*/
public $extendedValue;
/** @var string inline value */
public $value;
/** @var kintVariableData[] array of alternative representations for same variable, don't use in custom parsers */
public $_alternatives;
/* *******************************************
* HELPERS
*/
private static $_supportedCharsets = array(
'UTF-8',
'Windows-1252',
# Western; includes iso-8859-1
'euc-jp',
);
protected static function _detectEncoding($value) {
$ret = null;
if (function_exists('mb_detect_encoding')) {
$mbDetected = mb_detect_encoding($value);
if ($mbDetected === 'ASCII') {
return 'ASCII';
}
}
if (!function_exists('iconv')) {
return !empty($mbDetected) ? $mbDetected : 'UTF-8';
}
$md5 = md5($value);
foreach (Kint::$charEncodings as $encoding) {
# fuck knows why, //IGNORE and //TRANSLIT still throw notice
if (md5(@iconv($encoding, $encoding, $value)) === $md5) {
return $encoding;
}
}
return 'ASCII';
}
/**
* returns whether the array:
* 1) is numeric and
* 2) in sequence starting from zero
*
* @param array $array
*
* @return bool
*/
protected static function _isSequential(array $array) {
return array_keys($array) === range(0, count($array) - 1);
}
protected static function _strlen($string, $encoding = null) {
if (function_exists('mb_strlen')) {
$encoding or $encoding = self::_detectEncoding($string);
return mb_strlen($string, $encoding);
}
else {
return strlen($string);
}
}
protected static function _substr($string, $start, $end, $encoding = null) {
if (function_exists('mb_substr')) {
$encoding or $encoding = self::_detectEncoding($string);
return mb_substr($string, $start, $end, $encoding);
}
else {
return substr($string, $start, $end);
}
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
kintVariableData::$access | public | property | @var string |
kintVariableData::$extendedValue | public | property | * * the array is a separate possible representation of the dumped var |
kintVariableData::$name | public | property | @var string |
kintVariableData::$operator | public | property | @var string |
kintVariableData::$size | public | property | @var int |
kintVariableData::$type | public | property | @var string |
kintVariableData::$value | public | property | @var string inline value |
kintVariableData::$_alternatives | public | property | @var kintVariableData[] array of alternative representations for same variable, don't use in custom parsers |
kintVariableData::$_supportedCharsets | private static | property | |
kintVariableData::_detectEncoding | protected static | function | |
kintVariableData::_isSequential | protected static | function | * returns whether the array: * 1) is numeric and * 2) in sequence starting from zero * * |
kintVariableData::_strlen | protected static | function | |
kintVariableData::_substr | protected static | function |