PMA\libraries\StorageEngine::getEngine PHP Méthode

getEngine() public static méthode

Loads the corresponding engine plugin, if available.
public static getEngine ( string $engine ) : StorageEngine
$engine string The engine ID
Résultat StorageEngine The engine plugin
    public static function getEngine($engine)
    {
        switch (strtolower($engine)) {
            case 'bdb':
                return new Bdb($engine);
            case 'berkeleydb':
                return new Berkeleydb($engine);
            case 'binlog':
                return new Binlog($engine);
            case 'innobase':
                return new Innobase($engine);
            case 'innodb':
                return new Innodb($engine);
            case 'memory':
                return new Memory($engine);
            case 'merge':
                return new Merge($engine);
            case 'mrg_myisam':
                return new Mrg_Myisam($engine);
            case 'myisam':
                return new Myisam($engine);
            case 'ndbcluster':
                return new Ndbcluster($engine);
            case 'pbxt':
                return new Pbxt($engine);
            case 'performance_schema':
                return new Performance_Schema($engine);
            default:
                return new StorageEngine($engine);
        }
    }

Usage Example

 /**
  * Tests for _getHtmlForServerEngine() method
  *
  * @return void
  */
 public function testGetHtmlForServerEngine()
 {
     $_REQUEST['engine'] = "Pbxt";
     $_REQUEST['page'] = "page";
     //Mock DBI
     $dbi = $this->getMockBuilder('PMA\\libraries\\DatabaseInterface')->disableOriginalConstructor()->getMock();
     $GLOBALS['dbi'] = $dbi;
     $class = new ReflectionClass('\\PMA\\libraries\\controllers\\server\\ServerEnginesController');
     $method = $class->getMethod('_getHtmlForServerEngine');
     $method->setAccessible(true);
     $engine_plugin = StorageEngine::getEngine("Pbxt");
     $ctrl = new ServerEnginesController();
     $html = $method->invoke($ctrl, $engine_plugin);
     //validate 1: Engine title
     $this->assertContains(htmlspecialchars($engine_plugin->getTitle()), $html);
     //validate 2: Engine Mysql Help Page
     $this->assertContains(PMA\libraries\Util::showMySQLDocu($engine_plugin->getMysqlHelpPage()), $html);
     //validate 3: Engine Comment
     $this->assertContains(htmlspecialchars($engine_plugin->getComment()), $html);
     //validate 4: Engine Info Pages
     $this->assertContains(__('Variables'), $html);
     $this->assertContains(URL::getCommon(array('engine' => $_REQUEST['engine'], 'page' => "Documentation")), $html);
     //validate 5: other items
     $this->assertContains(URL::getCommon(array('engine' => $_REQUEST['engine'])), $html);
     $this->assertContains($engine_plugin->getSupportInformationMessage(), $html);
     $this->assertContains('There is no detailed status information available for this ' . 'storage engine.', $html);
 }
All Usage Examples Of PMA\libraries\StorageEngine::getEngine