phpba / php-business-ba

Empresas na Bahia que trabalham com PHP
7 stars 9 forks source link

Criar uma camada de abstração para a consulta dos dados da empresa #8

Closed edyonil closed 8 years ago

edyonil commented 8 years ago

A ideia é que nós possamos mudar o acesso dos dados da empresa sem mudar a classe cliente. Hoje vamos ler o csv, mas podemos mudar isso facilmente para banco de dados.

gwmoura commented 8 years ago

@edyonil, podemos ter na classe 3 métodos.

1 - getDataFromCsv($csvPath) - lê um arquivo e retorna um array 2 - getDataFromDatabase() - lê de uma base e retorna um array 3 - dataToJson(array $data) - retorna um json

Formato do array:

[
'website' => 'http://...', 
'empresa' => 'My Company',
...
]

O que acha?

edyonil commented 8 years ago

Seria mais ou menos isso mesmo. A diferença que pensei em criar duas classes diferentes ao invés de uma classe única com dois métodos. Teríamos uma interface Repository, com assinatura do método getData() com retorno da array. Uma classe RepositoryCsv que vai buscar do google form. Assim cada class que formos implementando fica responsável em implementar sua própria lógica de acesso ao dado, retornando apenas a array, se ligou?

[
'website' => 'http://...', 
'empresa' => 'My Company',
...
]
gwmoura commented 8 years ago

Hummm saquei saquei!!! Bem melhor assim