[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/config/ -> GlobalVarConfig.php (source)

   1  <?php
   2  /**
   3   * Copyright 2014
   4   *
   5   * This program is free software; you can redistribute it and/or modify
   6   * it under the terms of the GNU General Public License as published by
   7   * the Free Software Foundation; either version 2 of the License, or
   8   * (at your option) any later version.
   9   *
  10   * This program is distributed in the hope that it will be useful,
  11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13   * GNU General Public License for more details.
  14   *
  15   * You should have received a copy of the GNU General Public License along
  16   * with this program; if not, write to the Free Software Foundation, Inc.,
  17   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  18   * http://www.gnu.org/copyleft/gpl.html
  19   *
  20   * @file
  21   */
  22  
  23  /**
  24   * Accesses configuration settings from $GLOBALS
  25   *
  26   * @since 1.23
  27   */
  28  class GlobalVarConfig implements Config {
  29  
  30      /**
  31       * Prefix to use for configuration variables
  32       * @var string
  33       */
  34      private $prefix;
  35  
  36      /**
  37       * Default builder function
  38       * @return GlobalVarConfig
  39       */
  40  	public static function newInstance() {
  41          return new GlobalVarConfig();
  42      }
  43  
  44  	public function __construct( $prefix = 'wg' ) {
  45          $this->prefix = $prefix;
  46      }
  47  
  48      /**
  49       * @see Config::get
  50       */
  51  	public function get( $name ) {
  52          if ( !$this->has( $name ) ) {
  53              throw new ConfigException( __METHOD__ . ": undefined option: '$name'" );
  54          }
  55          return $this->getWithPrefix( $this->prefix, $name );
  56      }
  57  
  58      /**
  59       * @see Config::has
  60       */
  61  	public function has( $name ) {
  62          return $this->hasWithPrefix( $this->prefix, $name );
  63      }
  64  
  65      /**
  66       * @see MutableConfig::set
  67       * @deprecated since 1.24
  68       */
  69  	public function set( $name, $value ) {
  70          wfDeprecated( __METHOD__, '1.24' );
  71          $this->setWithPrefix( $this->prefix, $name, $value );
  72      }
  73  
  74      /**
  75       * Get a variable with a given prefix, if not the defaults.
  76       *
  77       * @param string $prefix Prefix to use on the variable, if one.
  78       * @param string $name Variable name without prefix
  79       * @return mixed
  80       */
  81  	protected function getWithPrefix( $prefix, $name ) {
  82          return $GLOBALS[$prefix . $name];
  83      }
  84  
  85      /**
  86       * Check if a variable with a given prefix is set
  87       *
  88       * @param string $prefix Prefix to use on the variable
  89       * @param string $name Variable name without prefix
  90       * @return bool
  91       */
  92  	protected function hasWithPrefix( $prefix, $name ) {
  93          $var = $prefix . $name;
  94          return array_key_exists( $var, $GLOBALS );
  95      }
  96  
  97      /**
  98       * Get a variable with a given prefix, if not the defaults.
  99       *
 100       * @param string $prefix Prefix to use on the variable
 101       * @param string $name Variable name without prefix
 102       * @param mixed $value Value to set
 103       * @deprecated since 1.24
 104       */
 105  	protected function setWithPrefix( $prefix, $name, $value ) {
 106          $GLOBALS[$prefix . $name] = $value;
 107      }
 108  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1