PEAR5.php 1.1 KB

123456789101112131415161718192021222324252627282930313233
  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. if (!array_key_exists($var, $properties[$class])) {
  27. $properties[$class][$var] = null;
  28. }
  29. return $properties[$class][$var];
  30. }
  31. }