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 */
6class 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}