Пример #1
0
        return $this->_doCache(function () {
            echo '[Вычисление] ';
            return '{Результат} ';
        }, __METHOD__);
    }
    /**
     * @return mixed
     */
    public static function lazyStaticMethod()
    {
        echo PHP_EOL . '[Вызван ' . __METHOD__ . '] ';
        return self::_doCacheStatic(function () {
            echo '[Вычисление] ';
            return '{Результат} ';
        }, __METHOD__);
    }
}
$object = new SomeClass();
echo '<pre>';
echo $object->lazyMethod();
// [Вызван SomeClass::lazyMethod] [Вычисление] {Результат}
echo $object->lazyMethod();
// [Вызван SomeClass::lazyMethod] {Результат}
echo $object->lazyMethod();
// [Вызван SomeClass::lazyMethod] {Результат}
echo $object->lazyStaticMethod();
// [Вызван SomeClass::lazyStaticMethod] [Вычисление] {Результат}
echo $object->lazyStaticMethod();
// [Вызван SomeClass::lazyStaticMethod] {Результат}
echo $object->lazyStaticMethod();
// [Вызван SomeClass::lazyStaticMethod] {Результат}