SearchTest::getClasses PHP Method

getClasses() private method

Get all classes in folder inc/
private getClasses ( $function = false )
    private function getClasses($function = false)
    {
        $classes = array();
        foreach (new DirectoryIterator('inc/') as $fileInfo) {
            if ($fileInfo->isDot()) {
                continue;
            }
            $php_file = file_get_contents("inc/" . $fileInfo->getFilename());
            $tokens = token_get_all($php_file);
            $class_token = false;
            foreach ($tokens as $token) {
                if (is_array($token)) {
                    if ($token[0] == T_CLASS) {
                        $class_token = true;
                    } else {
                        if ($class_token && $token[0] == T_STRING) {
                            if ($function) {
                                if (method_exists($token[1], $function)) {
                                    $classes[] = $token[1];
                                }
                            } else {
                                $classes[] = $token[1];
                            }
                            $class_token = false;
                        }
                    }
                }
            }
        }
        return array_unique($classes);
    }