dba35a639a46c4b959dc2c2368c5a66227512121
[yaffs-website] / vendor / symfony / http-kernel / CacheWarmer / CacheWarmer.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\HttpKernel\CacheWarmer;
13
14 /**
15  * Abstract cache warmer that knows how to write a file to the cache.
16  *
17  * @author Fabien Potencier <fabien@symfony.com>
18  */
19 abstract class CacheWarmer implements CacheWarmerInterface
20 {
21     protected function writeCacheFile($file, $content)
22     {
23         $tmpFile = @tempnam(dirname($file), basename($file));
24         if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) {
25             @chmod($file, 0666 & ~umask());
26
27             return;
28         }
29
30         throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $file));
31     }
32 }