diff options
Diffstat (limited to 'vendor/zendframework/zend-cache/src/Pattern/ClassCache.php')
-rw-r--r-- | vendor/zendframework/zend-cache/src/Pattern/ClassCache.php | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/vendor/zendframework/zend-cache/src/Pattern/ClassCache.php b/vendor/zendframework/zend-cache/src/Pattern/ClassCache.php deleted file mode 100644 index d6c9335..0000000 --- a/vendor/zendframework/zend-cache/src/Pattern/ClassCache.php +++ /dev/null @@ -1,167 +0,0 @@ -<?php -/** - * Zend Framework (http://framework.zend.com/) - * - * @link http://github.com/zendframework/zf2 for the canonical source repository - * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ - -namespace Zend\Cache\Pattern; - -use Zend\Cache; -use Zend\Cache\Exception; - -class ClassCache extends CallbackCache -{ - /** - * Set options - * - * @param PatternOptions $options - * @return ClassCache - * @throws Exception\InvalidArgumentException if missing 'class' or 'storage' options - */ - public function setOptions(PatternOptions $options) - { - parent::setOptions($options); - - if (!$options->getClass()) { - throw new Exception\InvalidArgumentException("Missing option 'class'"); - } elseif (!$options->getStorage()) { - throw new Exception\InvalidArgumentException("Missing option 'storage'"); - } - return $this; - } - - /** - * Call and cache a class method - * - * @param string $method Method name to call - * @param array $args Method arguments - * @return mixed - * @throws Exception\RuntimeException - * @throws \Exception - */ - public function call($method, array $args = array()) - { - $options = $this->getOptions(); - $classname = $options->getClass(); - $method = strtolower($method); - $callback = $classname . '::' . $method; - - $cache = $options->getCacheByDefault(); - if ($cache) { - $cache = !in_array($method, $options->getClassNonCacheMethods()); - } else { - $cache = in_array($method, $options->getClassCacheMethods()); - } - - if (!$cache) { - if ($args) { - return call_user_func_array($callback, $args); - } else { - return $classname::$method(); - } - } - - return parent::call($callback, $args); - } - - /** - * Generate a unique key in base of a key representing the callback part - * and a key representing the arguments part. - * - * @param string $method The method - * @param array $args Callback arguments - * @return string - * @throws Exception\RuntimeException - */ - public function generateKey($method, array $args = array()) - { - return $this->generateCallbackKey( - $this->getOptions()->getClass() . '::' . $method, - $args - ); - } - - /** - * Generate a unique key in base of a key representing the callback part - * and a key representing the arguments part. - * - * @param callable $callback A valid callback - * @param array $args Callback arguments - * @return string - * @throws Exception\RuntimeException - */ - protected function generateCallbackKey($callback, array $args) - { - $callbackKey = md5(strtolower($callback)); - $argumentKey = $this->generateArgumentsKey($args); - return $callbackKey . $argumentKey; - } - - /** - * Calling a method of the entity. - * - * @param string $method Method name to call - * @param array $args Method arguments - * @return mixed - * @throws Exception\RuntimeException - * @throws \Exception - */ - public function __call($method, array $args) - { - return $this->call($method, $args); - } - - /** - * Set a static property - * - * @param string $name - * @param mixed $value - * @return void - * @see http://php.net/manual/language.oop5.overloading.php#language.oop5.overloading.members - */ - public function __set($name, $value) - { - $class = $this->getOptions()->getClass(); - $class::$name = $value; - } - - /** - * Get a static property - * - * @param string $name - * @return mixed - * @see http://php.net/manual/language.oop5.overloading.php#language.oop5.overloading.members - */ - public function __get($name) - { - $class = $this->getOptions()->getClass(); - return $class::$name; - } - - /** - * Is a static property exists. - * - * @param string $name - * @return bool - */ - public function __isset($name) - { - $class = $this->getOptions()->getClass(); - return isset($class::$name); - } - - /** - * Unset a static property - * - * @param string $name - * @return void - */ - public function __unset($name) - { - $class = $this->getOptions()->getClass(); - unset($class::$name); - } -} |