21 lines
617 B
PHP
21 lines
617 B
PHP
|
<?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;
|
||
|
}
|