/** * Method to get the list of database options. * * This method produces a drop down list of available databases supported * by JDatabaseDriver classes that are also supported by the application. * * @return array The field option objects. * * @since 1.0 * @see Joomla\Database\DatabaseDriver */ protected function getOptions() { // This gets the connectors available in the platform and supported by the server. $available = DatabaseDriver::getConnectors(); /** * This gets the list of database types supported by the application. * This should be entered in the form definition as a comma separated list. * If no supported databases are listed, it is assumed all available databases * are supported. */ $supported = $this->element['supported']; if (!empty($supported)) { $supported = explode(',', $supported); foreach ($supported as $support) { if (in_array($support, $available)) { $options[$support] = Text::_(ucfirst($support)); } } } else { foreach ($available as $support) { $options[$support] = Text::_(ucfirst($support)); } } // This will come into play if an application is installed that requires // a database that is not available on the server. if (empty($options)) { $options[''] = Text::_('JNONE'); } return $options; }
/** * Tests the Joomla\Database\DatabaseDriver::getConnectors method. * * @return void * * @since 1.0 */ public function testGetConnectors() { $this->assertContains('Sqlite', $this->instance->getConnectors(), 'The getConnectors method should return an array with Sqlite as an available option.'); }
/** * List of PDO Drivers according with available SQL * * @return array */ public function dboDrivers() { return array_intersect($this->dbDrivers, DatabaseDriver::getConnectors()); }