src/Shared/Reader/Reader.php
public static function readFile(
        /*# string */ $path,
        /*# string */ $type = ''
    ) {
        $suffix = $type ?: substr($path, strpos($path, '.') + 1);

        if (!static::isSupported($suffix)) {
            throw new RuntimeException(
                Message::get(Message::MSG_PATH_TYPE_UNKNOWN, $suffix),
                Message::MSG_PATH_TYPE_UNKNOWN
            );
        }

        /* @var ReaderInterface $class */
        $class = static::getNameSpace() . '\\' . ucfirst($suffix) . 'Reader';

        return $class::readFile($path);
    }
public static function readFile(
        /*# string */ $path,
        /*# string */ $type = ''
    ) {
        $suffix = $type ?: substr($path, strpos($path, '.') + 1);

        if (!static::isSupported($suffix)) {
            throw new RuntimeException(
                Message::get(Message::MSG_PATH_TYPE_UNKNOWN, $suffix),
                Message::MSG_PATH_TYPE_UNKNOWN
            );
        }

        /* @var ReaderInterface $class */
        $class = static::getNameSpace() . '\\' . ucfirst($suffix) . 'Reader';

        return $class::readFile($path);
    }
Read, parse & return contents from the $path

@param  string $path
@param  string $type force this type
@return mixed
@throws NotFoundException if $path not found
@throws RuntimeException if something goes wrong
@access public
@since  2.0.16 added $type param
@static