AloFramework Logger
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo

Namespaces

  • AloFramework
    • Log
  • None
  • PHP
  • Psr
    • Log

Classes

  • BaseUser
  • Kint
  • Kint_Decorators_Plain
  • Kint_Decorators_Rich
  • Kint_Objects_Closure
  • Kint_Objects_Smarty
  • Kint_Objects_SplFileInfo
  • Kint_Parsers_ClassMethods
  • Kint_Parsers_ClassStatics
  • Kint_Parsers_Color
  • Kint_Parsers_FsPath
  • Kint_Parsers_Json
  • Kint_Parsers_Microtime
  • Kint_Parsers_objectIterateable
  • Kint_Parsers_SplObjectStorage
  • Kint_Parsers_Timestamp
  • Kint_Parsers_Xml
  • KintObject
  • kintParser
  • kintVariableData
  • User
  • UserManager

Functions

  • d
  • dd
  • ddd
  • s
  • sd
  1 <?php
  2 
  3 class kintVariableData
  4 {
  5     /** @var string */
  6     public $type;
  7     /** @var string */
  8     public $access;
  9     /** @var string */
 10     public $name;
 11     /** @var string */
 12     public $operator;
 13     /** @var int */
 14     public $size;
 15     /**
 16      * @var kintVariableData[] array of kintVariableData objects or strings; displayed collapsed, each element from
 17      * the array is a separate possible representation of the dumped var
 18      */
 19     public $extendedValue;
 20     /** @var string inline value */
 21     public $value;
 22 
 23     /** @var kintVariableData[] array of alternative representations for same variable, don't use in custom parsers */
 24     public $_alternatives;
 25 
 26     /* *******************************************
 27      * HELPERS
 28      */
 29 
 30     private static $_supportedCharsets = array(
 31         'UTF-8',
 32         'Windows-1252', # Western; includes iso-8859-1
 33         'euc-jp',       # Japanese
 34 
 35         # all other charsets cannot be differentiated by PHP and/or are not supported by mb_* functions,
 36         # I need a better means of detecting the codeset, no idea how though :(
 37 
 38         //      'iso-8859-13',  # Baltic
 39         //      'windows-1251', # Cyrillic
 40         //      'windows-1250', # Central European
 41         //      'shift_jis',    # Japanese
 42         //      'iso-2022-jp',  # Japanese
 43     );
 44 
 45     protected static function _detectEncoding( $value )
 46     {
 47         $ret = null;
 48         if ( function_exists( 'mb_detect_encoding' ) ) {
 49             $mbDetected = mb_detect_encoding( $value );
 50             if ( $mbDetected === 'ASCII' ) return 'ASCII';
 51         }
 52 
 53 
 54         if ( !function_exists( 'iconv' ) ) {
 55             return !empty( $mbDetected ) ? $mbDetected : 'UTF-8';
 56         }
 57 
 58         $md5 = md5( $value );
 59         foreach ( Kint::$charEncodings as $encoding ) {
 60             # fuck knows why, //IGNORE and //TRANSLIT still throw notice
 61             if ( md5( @iconv( $encoding, $encoding, $value ) ) === $md5 ) {
 62                 return $encoding;
 63             }
 64         }
 65 
 66         return 'ASCII';
 67     }
 68 
 69     /**
 70      * returns whether the array:
 71      *  1) is numeric and
 72      *  2) in sequence starting from zero
 73      *
 74      * @param array $array
 75      *
 76      * @return bool
 77      */
 78     protected static function _isSequential( array $array )
 79     {
 80         return array_keys( $array ) === range( 0, count( $array ) - 1 );
 81     }
 82 
 83     protected static function _strlen( $string, $encoding = null )
 84     {
 85         if ( function_exists( 'mb_strlen' ) ) {
 86             $encoding or $encoding = self::_detectEncoding( $string );
 87             return mb_strlen( $string, $encoding );
 88         } else {
 89             return strlen( $string );
 90         }
 91     }
 92 
 93     protected static function _substr( $string, $start, $end, $encoding = null )
 94     {
 95         if ( function_exists( 'mb_substr' ) ) {
 96             $encoding or $encoding = self::_detectEncoding( $string );
 97             return mb_substr( $string, $start, $end, $encoding );
 98         } else {
 99             return substr( $string, $start, $end );
100         }
101     }
102 }
103 
AloFramework Logger API documentation generated byApiGen 2.8.0