Files
oficial/app/common/Ideal/Cartola/Banco.php

21 lines
617 B
PHP
Raw Normal View History

<?php
namespace Incoviba\Common\Ideal\Cartola;
use Incoviba\Common\Define;
use Psr\Http\Message\UploadedFileInterface;
abstract class Banco implements Define\Cartola\Banco
{
public function process(UploadedFileInterface $file): array
{
$data = $this->parseFile($file);
return array_map(function($row) {
$columns = $this->columnMap();
return array_combine(array_values($columns), array_values($row));
}, $data);
}
abstract protected function columnMap(): array;
abstract protected function parseFile(UploadedFileInterface $uploadedFile): array;
}