public static function rewrite($originalResource, $originalDir = '')
{
static $appDir, $cacheDir, $debug;
if (!$appDir) {
extract(self::$options, EXTR_IF_EXISTS);
}
$resource = (string) $originalResource;
if ($resource['0'] !== '/') {
$shouldCheckExistence = true;
$resource = PathResolver::realpath($resource, $shouldCheckExistence) ?: PathResolver::realpath("{$originalDir}/{$resource}", $shouldCheckExistence) ?: $originalResource;
}
$cachedResource = self::$cachePathManager->getCachePathForResource($resource);
// If the cache is disabled or no cache yet, then use on-fly method
if (!$cacheDir || $debug || !file_exists($cachedResource)) {
return self::PHP_FILTER_READ . self::$filterName . "/resource=" . $resource;
}
return $cachedResource;
}