/** * Copies methods from one prototype to another * @param mixed $class * @param mixed $target */ public static function addExtension($class, $target) { if (is_object($class)) { $class = get_class($class); } if (is_object($target)) { $target = get_class($target); } $target = strtolower($target); $class = strtolower($class); if (!array_key_exists($class, self::$extensions)) { self::$extensions[$class] = []; } self::$extensions[$class][] = (string) $target; Registry::addExtension($class, $target); }