Exakat\Analyzer\Analyzer::getInstance PHP Method

getInstance() public static method

public static getInstance ( $name )
    public static function getInstance($name)
    {
        static $instanciated = array();
        if ($analyzer = static::getClass($name)) {
            if (!isset($instanciated[$analyzer])) {
                $instanciated[$analyzer] = new $analyzer(self::$gremlinStatic);
            }
            return $instanciated[$analyzer];
        } else {
            display("No such class as '" . $name . "'\n");
            return null;
        }
    }

Usage Example

Example #1
0
 public function generate($folder, $name = null)
 {
     $sqlite = new \Sqlite3($folder . '/dump.sqlite');
     $sqlQuery = 'SELECT * FROM results WHERE analyzer in ' . $this->themesList;
     $res = $sqlite->query($sqlQuery);
     $results = array();
     $titleCache = array();
     $severityCache = array();
     $results = array();
     while ($row = $res->fetchArray(SQLITE3_ASSOC)) {
         if (!isset($titleCache[$row['analyzer']])) {
             $analyzer = Analyzer::getInstance($row['analyzer']);
             $titleCache[$row['analyzer']] = $analyzer->getDescription()->getName();
             $severityCache[$row['analyzer']] = $analyzer->getSeverity();
             $clearphp = $analyzer->getDescription()->getClearPHP();
         } else {
             $clearphp = '';
         }
         $message = array('code' => $row['fullcode'], 'line' => $row['line'], 'clearphp' => $clearphp);
         if (!isset($results[$titleCache[$row['analyzer']]])) {
             $results[$titleCache[$row['analyzer']]] = array();
         }
         $results[$titleCache[$row['analyzer']]][] = $message;
         $this->count();
     }
     if ($name === null) {
         return json_encode($results);
     } else {
         file_put_contents($folder . '/' . $name . '.' . self::FILE_EXTENSION, json_encode($results));
         return true;
     }
 }
All Usage Examples Of Exakat\Analyzer\Analyzer::getInstance
Analyzer