Files
zhamao-framework/src/ZM/Annotation/AnnotationBase.php
2021-03-18 14:56:35 +08:00

29 lines
721 B
PHP

<?php
namespace ZM\Annotation;
use Closure;
abstract class AnnotationBase
{
public $method;
public $class;
public function __toString(): string {
$str = __CLASS__ . ": ";
foreach ($this as $k => $v) {
$str .= "\n\t" . $k . " => ";
if (is_string($v)) $str .= "\"$v\"";
elseif (is_numeric($v)) $str .= $v;
elseif (is_bool($v)) $str .= ($v ? "TRUE" : "FALSE");
elseif (is_array($v)) $str .= json_encode($v, JSON_UNESCAPED_UNICODE);
elseif ($v instanceof Closure) $str .= "@AnonymousFunction";
elseif (is_null($v)) $str .= "NULL";
else $str .= "@Unknown";
}
return $str;
}
}