/** * If APC is available the method return a storage collection with a {@link APCStorage} * instance and the specified storage instance. * * @param Storage $storage * @param string $prefix Prefix for the {@link APCStorage} instance. * * @return Storage|StorageCollection */ private static function with_apc_storage(Storage $storage, $prefix) { if (!APCStorage::is_available()) { return $storage; } return new StorageCollection([new APCStorage(self::make_apc_prefix() . $prefix), $storage]); }
/** * Returns a provider collection with the following providers: {@link WebProvider}, * {@link FileProvider}, and {@link RunTimeProvider}. The {@link FileProvider} is created with * `REPOSITORY/cache/cldr` as cache directory. * * @return Provider */ public static function get_cldr_provider() { static $provider; if (!$provider) { $provider = new ProviderCollection(array_filter([new RunTimeProvider(), APCStorage::is_available() ? new APCStorage('icanboogie:cldr:') : null, new FileProvider(\ICanBoogie\REPOSITORY . 'cache' . DIRECTORY_SEPARATOR . 'cldr'), new WebProvider()])); } return $provider; }