getDb() public method

If settings.php has not been loaded, it will be loaded to configure the DB connection.
public getDb ( ) : Database
return Elgg\Application\Database
コード例 #1
0
ファイル: CacheHandler.php プロジェクト: cyrixhero/Elgg
 /**
  * Do a minimal engine load
  *
  * @return void
  */
 protected function setupSimplecache()
 {
     // we can't use Elgg\Config::get yet. It fails before the core is booted
     $config = $this->config;
     $config->loadSettingsFile();
     if ($config->getVolatile('dataroot') && $config->getVolatile('simplecache_enabled') !== null) {
         // we can work with these...
         return;
     }
     $db = $this->application->getDb();
     try {
         $rows = $db->getData("\n\t\t\t\tSELECT `name`, `value`\n\t\t\t\tFROM {$db->getTablePrefix()}datalists\n\t\t\t\tWHERE `name` IN ('dataroot', 'simplecache_enabled')\n\t\t\t");
         if (!$rows) {
             $this->send403('Cache error: unable to get the data root');
         }
     } catch (\DatabaseException $e) {
         if (0 === strpos($e->getMessage(), "Elgg couldn't connect")) {
             $this->send403('Cache error: unable to connect to database server');
         } else {
             $this->send403('Cache error: unable to connect to Elgg database');
         }
         exit;
         // unnecessary, but helps PhpStorm understand
     }
     foreach ($rows as $row) {
         $config->set($row->name, $row->value);
     }
     if (!$config->getVolatile('dataroot')) {
         $this->send403('Cache error: unable to get the data root');
     }
 }