extractions = $extractions; } public function check() { if (!is_array($this->extractions)) { throw new Exception('extractions has to be an array'); } foreach ($this->extractions as $extraction) { if (!is_array($extraction)) { throw new \Exception('Each extraction within extractions has to be an array'); } if (count($extraction) !== 2 || !array_key_exists('dimension', $extraction) || !array_key_exists('pattern', $extraction)) { throw new \Exception('Each extraction within extractions must have a key "dimension" and "pattern" only'); } $extraction = new Extraction($extraction['dimension'], $extraction['pattern']); $extraction->check(); } } }