Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.
/lib/pear/ -> PEAR5.php (source)
   1  <?php
   2  /**
   3   * This is only meant for PHP 5 to get rid of certain strict warning
   4   * that doesn't get hidden since it's in the shutdown function
   5   */
   6  class PEAR5
   7  {
   8      /**
   9      * If you have a class that's mostly/entirely static, and you need static
  10      * properties, you can use this method to simulate them. Eg. in your method(s)
  11      * do this: $myVar = &PEAR5::getStaticProperty('myclass', 'myVar');
  12      * You MUST use a reference, or they will not persist!
  13      *
  14      * @access public
  15      * @param  string $class  The calling classname, to prevent clashes
  16      * @param  string $var    The variable to retrieve.
  17      * @return mixed   A reference to the variable. If not set it will be
  18      *                 auto initialised to NULL.
  19      */
  20      static function &getStaticProperty($class, $var)
  21      {
  22          static $properties;
  23          if (!isset($properties[$class])) {
  24              $properties[$class] = array();
  25          }
  26  
  27          if (!array_key_exists($var, $properties[$class])) {
  28              $properties[$class][$var] = null;
  29          }
  30  
  31          return $properties[$class][$var];
  32      }
  33  }