/** * Returns the names of the classes declared in a sourcefile. * * @param string $filename * @param string $commonPath * @param boolean $clearCache * @return array */ public static function getClassesInFile($filename, $commonPath = '', $clearCache = FALSE) { if ($commonPath != '') { $filename = str_replace($commonPath, '', $filename); } if ($clearCache) { self::$fileClassMap = array(); } if (empty(self::$fileClassMap)) { $classes = array_merge(get_declared_classes(), get_declared_interfaces()); foreach ($classes as $className) { $class = new ReflectionClass($className); if ($class->isUserDefined()) { $file = $class->getFileName(); if ($commonPath != '') { $file = str_replace($commonPath, '', $file); } if (!isset(self::$fileClassMap[$file])) { self::$fileClassMap[$file] = array($class); } else { self::$fileClassMap[$file][] = $class; } } } } return isset(self::$fileClassMap[$filename]) ? self::$fileClassMap[$filename] : array(); }
/** * Returns the names of the classes declared in a sourcefile. * * @param string $filename * @param string $commonPath * @param boolean $clearCache * @return array * @access public * @static */ public static function getClassesInFile($filename, $commonPath = '', $clearCache = FALSE) { if ($commonPath != '') { $filename = str_replace($commonPath, '', $filename); } if ($clearCache) { self::$fileClassMap = array(); } if (empty(self::$fileClassMap)) { $classes = get_declared_classes(); $count = count($classes); for ($i = 0; $i < $count; $i++) { $class = new ReflectionClass($classes[$i]); if ($class->isUserDefined()) { $file = $class->getFileName(); if ($commonPath != '') { $file = str_replace($commonPath, '', $file); } if (!isset(self::$fileClassMap[$file])) { self::$fileClassMap[$file] = array($class); } else { self::$fileClassMap[$file][] = $class; } } } } return isset(self::$fileClassMap[$filename]) ? self::$fileClassMap[$filename] : array(); }