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
|
<?php
/**
* @file
* @author Niklas Laxström
* @license GPL-2.0-or-later
*/
namespace LocalisationUpdate\Reader;
/**
* Constructs readers for files based on the names.
*/
class ReaderFactory {
/**
* Constructs a suitable reader for a given path.
* @param string $filename Usually a relative path to the file name.
* @return Reader
* @throws \Exception
*/
public function getReader( $filename ) {
if ( preg_match( '/\.json/', $filename ) ) {
$code = basename( $filename, '.json' );
return new JSONReader( $code );
}
throw new \Exception( "Unknown file format: " . $filename );
}
}
|