Spaces:
No application file
No application file
File size: 893 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php
declare(strict_types=1);
namespace Mautic\CoreBundle\Helper;
use Symfony\Component\Filesystem\Exception\IOException;
use Symfony\Component\Filesystem\Filesystem as SymfonyFilesystem;
/**
* Extends Symfony's filesystem but adding the readFile method that we need to abstract for unit tests.
* Using file_get_contents() directly makes unit testing impossible.
*
* @see https://github.com/symfony/filesystem/pull/4
*/
class Filesystem extends SymfonyFilesystem
{
/**
* Read file and return contents.
*
* @throws Exception\IOException
*/
public function readFile(string $filename): string
{
if (false === $source = @file_get_contents($filename)) {
throw new IOException(sprintf('Failed to read "%s" because source file could not be opened for reading.', $filename), 0, null, $filename);
}
return $source;
}
}
|