Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adicionando a opção de rodar por linha de comando #10

Merged
merged 7 commits into from
Jun 13, 2021

Conversation

dotenorio
Copy link
Contributor

Resolução da issue #9

Olha eu tava meio enferrujado com PHP, mas acho que ficou bom 😃


if ($format == 'json') {
$output->writeln($json);
return Command::SUCCESS;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pode ser um return só de sucesso no final do método

$results[] = $result;
}

$json = json_encode($results);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aqui faz o encode mas se for xml faz decode, este encode deveria estar então no formato json

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Então, no caso eu faço esse encode para transformar em string e ai poder fazer o decode!
Se tento usar o $results ao invés do $array, ele da um erro de que stdclass não pode ser utilizado.

Copy link
Member

@vitormattos vitormattos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excelente PR! Cumpre os requisitos porém tem uns pequenos ajustes pra ser feito o merge

O build no TravisCI tá quebrando, dá um confere, precisa fazer uns ajustes.

Os testes que rodam no Travis podem ser executados local, confere no composer.json que tem o bloco scripts com todos os testes. Tem um alias que agrupa todos os testes em um só que é o que tá sendo utilizado no .travis.yml

@dotenorio
Copy link
Contributor Author

dotenorio commented Oct 29, 2020

@vitormattos consegue me ajudar nas correções do phpstan, confesso que não sei como resolver.


if ($format == 'xml') {
$xml = $this->toXML($results);
$output->writeln($xml);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Melhorou muito!

Que tal colocar este comando para fora dos if? Ele se repete 2x no código e nos dois pontos faz a mesma coisa, pega o retorno e joga para o output.

Os métodos toXML e toJSON poderiam retornar para uma variável com o mesmo nome, tipo $return.

$output->writeln($json);
}

if ($format == 'xml') {
Copy link
Member

@vitormattos vitormattos Oct 29, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pensando em uma outra abordagem aqui....

Como o formato já foi validado na linha 64, isto poderia ser resumido usando https://php.net/call_user_func_array.

$return = call_user_func_array([$this, 'to' . strtoupper($format)], [$results]);

Que acha? Assim elimina os if

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trabalhando nisso

Copy link
Member

@vitormattos vitormattos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Que acha destas sugestões?

@dotenorio
Copy link
Contributor Author

Acho ótimo! Estou caminhando com o erros do travis e já devo enviar a solução final.

@vitormattos
Copy link
Member

Se tu rodar local vai conseguir reproduzir os erros.

O PHPStan ajuda muito para pegar umas boas práticas.

@vitormattos vitormattos merged commit 6e689f0 into LibreCodeCoop:master Jun 13, 2021
vitormattos added a commit that referenced this pull request Jun 13, 2021
Adicionando a opção de rodar por linha de comando
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants