4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\HttpKernel\CacheWarmer;
15 * Abstract cache warmer that knows how to write a file to the cache.
17 * @author Fabien Potencier <fabien@symfony.com>
19 abstract class CacheWarmer implements CacheWarmerInterface
21 protected function writeCacheFile($file, $content)
23 $tmpFile = @tempnam(dirname($file), basename($file));
24 if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) {
25 @chmod($file, 0666 & ~umask());
30 throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $file));