/** * Define the template according to the class */ public function defineTemplate($class) { if (is_string($class) && class_exists($class)) { $reflection = new \Addendum\ReflectionAnnotatedClass($class); $ret = array(); $ret[] = '(deftemplate ' . $class; foreach (get_class_vars($class) as $slot => $v) { if ($reflection->getProperty($slot)->hasAnnotation('Clips\\Multi')) { $ret[] = '(multislot ' . $slot . ')'; } else { $ret[] = '(slot ' . $slot . ')'; } } return implode(' ', $ret) . ')'; } return false; }