You are here

class PHP_Token_Stream_CachingFactory in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php \PHP_Token_Stream_CachingFactory

A caching factory for token stream objects.

@author Sebastian Bergmann <sebastian@phpunit.de> @copyright Sebastian Bergmann <sebastian@phpunit.de> @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License @link http://github.com/sebastianbergmann/php-token-stream/tree @since Class available since Release 1.0.0

Hierarchy

Expanded class hierarchy of PHP_Token_Stream_CachingFactory

File

vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php, line 20

View source
class PHP_Token_Stream_CachingFactory {

  /**
   * @var array
   */
  protected static $cache = array();

  /**
   * @param  string $filename
   * @return PHP_Token_Stream
   */
  public static function get($filename) {
    if (!isset(self::$cache[$filename])) {
      self::$cache[$filename] = new PHP_Token_Stream($filename);
    }
    return self::$cache[$filename];
  }

  /**
   * @param string $filename
   */
  public static function clear($filename = null) {
    if (is_string($filename)) {
      unset(self::$cache[$filename]);
    }
    else {
      self::$cache = array();
    }
  }

}

Members