Exakat\Analyzer\Analyzer::getClass PHP Method

getClass() public static method

public static getClass ( $name )
    public static function getClass($name)
    {
        // accepted names :
        // PHP full name : Analyzer\\Type\\Class
        // PHP short name : Type\\Class
        // Human short name : Type/Class
        // Human shortcut : Class (must be unique among the classes)
        if (strpos($name, '\\') !== false) {
            if (substr($name, 0, 16) == 'Exakat\\Analyzer\\') {
                $class = $name;
            } else {
                $class = 'Exakat\\Analyzer\\' . $name;
            }
        } elseif (strpos($name, '/') !== false) {
            $class = 'Exakat\\Analyzer\\' . str_replace('/', '\\', $name);
        } elseif (strpos($name, '/') === false) {
            self::initDocs();
            $found = self::$docs->guessAnalyzer($name);
            if (count($found) == 0) {
                return false;
                // no class found
            } elseif (count($found) == 1) {
                $class = $found[0];
            } else {
                // too many options here...
                return false;
            }
        } else {
            $class = $name;
        }
        if (class_exists($class)) {
            $actualClassName = new \ReflectionClass($class);
            if ($class !== $actualClassName->getName()) {
                // problems with the case
                return false;
            } else {
                return $class;
            }
        } else {
            return false;
        }
    }

Usage Example

Example #1
0
 public function run()
 {
     $project = 'test';
     // Check for requested file
     if (!empty($this->config->filename) && !file_exists($this->config->filename)) {
         throw new NoSuchFile($this->config->filename);
     } elseif (!empty($this->config->dirname) && !file_exists($this->config->dirname)) {
         throw new NoSuchDir($this->config->filename);
     }
     // Check for requested analyze
     $analyzer = $this->config->program;
     if (Analyzer::getClass($analyzer)) {
         $analyzers_class = array($analyzer);
     } else {
         $r = Analyzer::getSuggestionClass($analyzer);
         if (count($r) > 0) {
             echo 'did you mean : ', implode(', ', str_replace('_', '/', $r)), "\n";
         }
         throw new NoSuchAnalyzer($analyzer);
     }
     display("Cleaning DB\n");
     $clean = new CleanDb($this->gremlin, $this->config, Tasks::IS_SUBTASK);
     $clean->run();
     $load = new Load($this->gremlin, $this->config, Tasks::IS_SUBTASK);
     $load->run();
     unset($load);
     display("Project loaded\n");
     $analyze = new Analyze($this->gremlin, $this->config, Tasks::IS_SUBTASK);
     $analyze->run();
     unset($analyze);
     $results = new Results($this->gremlin, $this->config, Tasks::IS_SUBTASK);
     $results->run();
     unset($results);
     display("Analyzed project\n");
 }
All Usage Examples Of Exakat\Analyzer\Analyzer::getClass
Analyzer