コード例 #1
0
ファイル: Log.php プロジェクト: ephp/utility
 private static function getMessage($object, $text = '', $mode = 0)
 {
     if (is_int($text) && $text <= self::$MAX) {
         $mode = $text;
         $text = '';
     }
     $message = '';
     switch ($mode) {
         case self::$COUNT:
             if (is_array($object)) {
                 oggetto_array:
                 $message .= "ARRAY con " . count($object) . ' elementi';
                 break;
             }
             if ($object instanceof \Traversable) {
                 $message .= "OGGETTO " + get_class($s) + " con " . count($object) . ' elementi';
                 break;
             }
             $message .= "Variabile non iterabile: ";
         case self::$CLASS:
             $message .= Debug::typeof($object, true);
             break;
         case self::$VD:
             $message .= Debug::var_dump($object, true);
             break;
         case self::$PR:
             $message .= Debug::print_r($object);
             break;
         case self::$STRING:
             if (is_bool($object)) {
                 $message .= 'Valore booleano: ';
                 $message .= $object ? 'TRUE' : 'FALSE';
             } elseif (is_array($object)) {
                 goto oggetto_array;
             } elseif (!is_object($object)) {
                 $message .= $object;
             } else {
                 $message .= Debug::typeof($object, true);
                 $methods = get_class_methods($object);
                 if (in_array('__toString', $methods)) {
                     $message .= ': ' . $object . __toString();
                 }
             }
             break;
     }
     return ($text != '' ? "{$text}: " : '') . $message;
 }