['a4',1], 'minor'=>['a4',4], 'compat'=>['a4',4], ]; public function __construct(int $offset,int $size,string $filename,?string $data) { if ($size > 12) throw new \Exception('FTYP atom larger than 12 bytes, we wont be able to handled that'); parent::__construct($offset,$size,$filename); $this->cache['data'] = unpack($this->unpack(),$data); if (Arr::get($this->cache,'data.compat') !== 'qt ') throw new \Exception('This is not a QT format file'); } }