1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php namespace System;
- class Cache {
- /**
- * The active cache drivers.
- *
- * @var Cache\Driver
- */
- private static $drivers = array();
- /**
- * Get the cache driver instance.
- *
- * @param string $driver
- * @return Cache\Driver
- */
- public static function driver($driver = null)
- {
- if ( ! array_key_exists($driver, static::$drivers))
- {
- // --------------------------------------------------
- // If no driver was specified, use the default.
- // --------------------------------------------------
- if (is_null($driver))
- {
- $driver = Config::get('cache.driver');
- }
- // --------------------------------------------------
- // Create the cache driver.
- // --------------------------------------------------
- static::$drivers[$driver] = Cache\Factory::make($driver);
- }
- return static::$drivers[$driver];
- }
- /**
- * Pass all other methods to the default driver.
- */
- public static function __callStatic($method, $parameters)
- {
- return call_user_func_array(array(static::driver(), $method), $parameters);
- }
- }
|