Server IP : 172.67.158.161 / Your IP : 3.145.106.127 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/giankuin/khowordpress.com/wp-content/plugins/duplicator-pro/aws/Guzzle/Inflection/ |
Upload File : |
<?php namespace DuplicatorPro\Guzzle\Inflection; defined("ABSPATH") or die(""); /** * Decorator used to add memoization to previously inflected words */ class MemoizingInflector implements InflectorInterface { /** @var array Array of cached inflections */ protected $cache = array( 'snake' => array(), 'camel' => array() ); /** @var int Max entries per cache */ protected $maxCacheSize; /** @var InflectorInterface Decorated inflector */ protected $decoratedInflector; /** * @param InflectorInterface $inflector Inflector being decorated * @param int $maxCacheSize Maximum number of cached items to hold per cache */ public function __construct(InflectorInterface $inflector, $maxCacheSize = 500) { $this->decoratedInflector = $inflector; $this->maxCacheSize = $maxCacheSize; } public function snake($word) { if (!isset($this->cache['snake'][$word])) { $this->pruneCache('snake'); $this->cache['snake'][$word] = $this->decoratedInflector->snake($word); } return $this->cache['snake'][$word]; } /** * Converts strings from snake_case to upper CamelCase * * @param string $word Value to convert into upper CamelCase * * @return string */ public function camel($word) { if (!isset($this->cache['camel'][$word])) { $this->pruneCache('camel'); $this->cache['camel'][$word] = $this->decoratedInflector->camel($word); } return $this->cache['camel'][$word]; } /** * Prune one of the named caches by removing 20% of the cache if it is full * * @param string $cache Type of cache to prune */ protected function pruneCache($cache) { if (count($this->cache[$cache]) == $this->maxCacheSize) { $this->cache[$cache] = array_slice($this->cache[$cache], $this->maxCacheSize * 0.2); } } }