<?php
    class Base {
        private static $cache = array();

        public function &__get($name) {
            $type = get_class($this);
            if (!isset(self::$cache[$type])) {
                self::$cache[$type] = '';
            }
            return self::$cache[$type];
        }

        public function __set($name, $value) {
            $type = get_class($this);
            self::$cache[$type] = $value;
        }
    }

    $b = new Base;
    $b->cache = 42;
    $b2 = new Base;

    echo $b->cache . "\n";  // 42
    echo $b2->cache . "\n"; // also 42
?>