You are here

class SettingsManager in Drupal driver for SQL Server and SQL Azure 8.2

Hierarchy

Expanded class hierarchy of SettingsManager

3 files declare their use of SettingsManager
EngineVersion.php in drivers/lib/Drupal/Driver/Database/sqlsrv/Scheme/EngineVersion.php
ExtensionData.php in drivers/lib/Drupal/Driver/Database/sqlsrv/ExtensionData.php
UserOptions.php in drivers/lib/Drupal/Driver/Database/sqlsrv/Scheme/UserOptions.php

File

drivers/lib/Drupal/Driver/Database/sqlsrv/Component/SettingsManager.php, line 5

Namespace

Drupal\Driver\Database\sqlsrv\Component
View source
class SettingsManager {

  /**
   * Stored settings.
   *
   * @var mixed
   */
  private $settings = array();

  /**
   * Store or retrieve a setting.
   *
   * @param string $method
   * @param array $args
   * @return mixed
   */
  protected function &CallMethod($method, array $options = array(), array $args = array(), $default = null) {
    if (empty($args)) {
      if (!isset($this->settings[$method])) {
        $this->settings[$method] = $default;
      }
      return $this->settings[$method];
    }
    $value = reset($args);
    if (!empty($options)) {
      if (!in_array($value, $options)) {
        throw new \Exception("Invalid value");
      }
    }
    $this->settings[$method] = $value;
    return $this->settings[$method];
  }

  /**
   * Retrieve the raw settings.
   *
   * @return array
   */
  public function getSettings() {
    return $this->settings;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
SettingsManager::$settings private property Stored settings.
SettingsManager::CallMethod protected function Store or retrieve a setting.
SettingsManager::getSettings public function Retrieve the raw settings.