You are here

class Kint_Parsers_ClassStatics in Devel 8.2

Same name and namespace in other branches
  1. 8 kint/kint/parsers/custom/classstatics.php \Kint_Parsers_ClassStatics

Hierarchy

Expanded class hierarchy of Kint_Parsers_ClassStatics

File

kint/kint/parsers/custom/classstatics.php, line 3

View source
class Kint_Parsers_ClassStatics extends kintParser {
  protected function _parse(&$variable) {
    if (!KINT_PHP53 || !is_object($variable)) {
      return false;
    }
    $extendedValue = array();
    $reflection = new ReflectionClass($variable);

    // first show static values
    foreach ($reflection
      ->getProperties(ReflectionProperty::IS_STATIC) as $property) {
      if ($property
        ->isPrivate()) {
        if (!method_exists($property, 'setAccessible')) {
          break;
        }
        $property
          ->setAccessible(true);
        $access = "private";
      }
      elseif ($property
        ->isProtected()) {
        $property
          ->setAccessible(true);
        $access = "protected";
      }
      else {
        $access = 'public';
      }
      $_ = $property
        ->getValue();
      $output = kintParser::factory($_, '$' . $property
        ->getName());
      $output->access = $access;
      $output->operator = '::';
      $extendedValue[] = $output;
    }
    foreach ($reflection
      ->getConstants() as $constant => $val) {
      $output = kintParser::factory($val, $constant);
      $output->access = 'constant';
      $output->operator = '::';
      $extendedValue[] = $output;
    }
    if (empty($extendedValue)) {
      return false;
    }
    $this->value = $extendedValue;
    $this->type = 'Static class properties';
    $this->size = count($extendedValue);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
kintParser::$_customDataTypes private static property
kintParser::$_dealingWithGlobals private static property
kintParser::$_level private static property
kintParser::$_marker private static property
kintParser::$_objectParsers private static property
kintParser::$_objects private static property
kintParser::$_placeFullStringInValue private static property
kintParser::$_skipAlternatives private static property
kintParser::escape public static function
kintParser::factory final public static function * the only public entry point to return a parsed representation of a variable * * @static * *
kintParser::reset public static function
kintParser::_checkDepth private static function
kintParser::_decorateCell private static function
kintParser::_init private static function
kintParser::_isArrayTabular private static function
kintParser::_parse_array private static function
kintParser::_parse_boolean private static function
kintParser::_parse_double private static function
kintParser::_parse_integer private static function
kintParser::_parse_null private static function
kintParser::_parse_object private static function
kintParser::_parse_resource private static function
kintParser::_parse_string private static function
kintParser::_parse_unknown private static function
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
Kint_Parsers_ClassStatics::_parse protected function * main and usually single method a custom parser must implement * * Overrides kintParser::_parse