Share
Embed
Collections, uma solução?!
Vídeo: https://youtu.be/JuEB6x7vnSk
Collections do Laravel seria uma “gambiarra” para o trabalho com arrays, strings, e outros dados, seja facilitado? Você sabe o que é uma Collection do Laravel? Quais benefícios ela te trás ao seus projetos Laravel, e PHP?
G Caruso
November 17, 2017
Transcript
91 slides
-
$totalVendas = 0; $minimoVendas = 10000; foreach ($funcionarios as $funcionario)
{ $setorFuncionario = $funcionario->setor; if ($setorFuncionario === 'Vendas') { $clientes = $funcionario->clientes; foreach ($clientes as $cliente) { $clienteTotalGasto = 0; foreach ($cliente->pedidos as $pedido) { $clienteTotalGasto += $pedido->total; } if ($clienteTotalGasto >= $minimoVendas) { $totalVendas += $clienteTotalGasto; } } } } return $totalVendas; -
$emailsClientes = []; foreach ($clientes as $cliente) { $emailsClientes[] =
$cliente->email; } return $emailsClientes; -
$repositorios = []; foreach ($githubRepositorios as $repo) { $repositorios[] =
[ 'nome' => $repo->name, 'contribuicoes' => $repo->forks + $repo->pull_requests, ]; } return $repositorios; -
$emailsClientes = []; foreach ($clientes as $cliente) { $emailsClientes[] =
$cliente->email; } return $emailsClientes; -
$emailsClientes = []; foreach ($clientes as $cliente) { $email =
$cliente->email; $emailsClientes[] = $email; } return $emailsClientes; -
$repositorios = []; foreach ($githubRepositorios as $repo) { $repositorios[] =
[ 'nome' => $repo->name, 'contribuicoes' => $repo->forks + $repo->pull_requests, ]; } return $repositorios; -
$repositorios = []; foreach ($githubRepositorios as $repo) { $repositorio =
[ 'nome' => $repo->name, 'contribuicoes' => $repo->forks + $repo->pull_requests, ]; $repositorios[] = $repositorio; } return $repositorios; -
$repositorios = []; foreach ($githubRepositorios as $repo) { $repositorio =
[ 'nome' => $repo->name, 'contribuicoes' => $repo->forks + $repo->pull_requests, ]; $repositorios[] = $repositorio; } return $repositorios; -
$resultados = []; foreach ($itens as $item) { $resultado =
[ 'nome' => $item->name, 'contribuicoes' => $item->forks + $item->pull_requests, ]; $resultados[] = $resultado; } return $resultados; -
$resultados = []; foreach ($itens as $item) { $resultado =
$item->email; $resultados[] = $resultado; } return $resultados; -
$callback = function ($item) { return $item->email; }; $resultados =
[]; foreach ($itens as $item) { $resultado = $callback($item); $resultados[] = $resultado; } return $resultados; -
$resultados = []; foreach ($itens as $item) { $resultado =
[ 'nome' => $item->name, 'contribuicoes' => $item->forks + $item->pull_requests, ]; $resultados[] = $resultado; } return $resultados; -
$callback = function ($item) { return [ 'nome' => $item->name,
'contribuicoes' => $item->forks + $item->pull_requests, ]; }; $resultados = []; foreach ($itens as $item) { $resultado = $callback($item); $resultados[] = $resultado; } return $resultados; -
$callback = function ($item) { return [ 'nome' => $item->name,
'contribuicoes' => $item->forks + $item->pull_requests, ]; }; $resultados = []; foreach ($itens as $item) { $resultado = $callback($item); $resultados[] = $resultado; } return $resultados; -
$callback = function ($item) { return $item->email; }; $resultados =
[]; foreach ($itens as $item) { $resultado = $callback($item); $resultados[] = $resultado; } return $resultados; -
$resultados = []; foreach ($itens as $item) { $resultado =
$callback($item); $resultados[] = $resultado; } return $resultados; } function array_map($callback, array $itens): array { -
$emailsClientes = []; foreach ($clientes as $cliente) { $emailsClientes[] =
$cliente->email; } return $emailsClientes; -
$repositorios = []; foreach ($githubRepositorios as $repo) { $repositorios[] =
[ 'nome' => $repo->name, 'contribuicoes' => $repo->forks + $repo->pull_requests, ]; } return $repositorios; -
$repositorios = array_map(function ($repo) { return [ 'nome' => $repo->name,
'contribuicoes' => $repo->forks + $repo->pull_requests, ]; }, $githubRepositorios); -
$repositoriosPublicos = []; foreach ($githubRepositorios as $repo) { if ($repo->isPublic())
{ $repositoriosPublicos[] = $repo; } } return $repositoriosPublicos; -
$repositoriosPopulares = []; foreach ($githubRepositorios as $repo) { if ($repo->stars
>= 1000) { $repositoriosPopulares[] = $repo; } } return $repositoriosPopulares; -
$resultados = []; foreach ($itens as $item) { if ($item->stars
>= 1000) { $resultados[] = $item; } } return $resultados; -
$repositoriosPublicos = []; foreach ($githubRepositorios as $repo) { if ($repo->isPublic())
{ $repositoriosPublicos[] = $repo; } } return $repositoriosPublicos; -
$resultados = []; foreach ($itens as $item) { if ($item->isPublic())
{ $resultados[] = $item; } } return $resultados; -
$resultados = []; foreach ($itens as $item) { if ($item->isPublic())
{ $resultados[] = $item; } } return $resultados; -
$resultados = []; foreach ($itens as $item) { if ($item->stars
>= 1000) { $resultados[] = $item; } } return $resultados; -
$callback = function ($item) { return $item->stars >= 1000; };
$resultados = []; foreach ($itens as $item) { if ($callback($item)) { $resultados[] = $item; } } return $resultados; -
$resultados = []; foreach ($itens as $item) { if ($item->isPublic())
{ $resultados[] = $item; } } return $resultados; -
$callback = function ($item) { return $item->isPublic(); }; $resultados =
[]; foreach ($itens as $item) { if ($callback($item)) { $resultados[] = $item; } } return $resultados; -
$callback = function ($item) { return $item->isPublic(); }; $resultados =
[]; foreach ($itens as $item) { if ($callback($item)) { $resultados[] = $item; } } return $resultados; -
$callback = function ($item) { return $item->stars >= 1000; };
$resultados = []; foreach ($itens as $item) { if ($callback($item)) { $resultados[] = $item; } } return $resultados; -
$resultados = []; foreach ($itens as $item) { if ($callback($item))
{ $resultados[] = $item; } } return $resultados; function array_filter(array $itens, $callback): array { } -
$repositoriosPublicos = []; foreach ($githubRepositorios as $repo) { if ($repo->isPublic())
{ $repositoriosPublicos[] = $repo; } } return $repositoriosPublicos; -
$repositoriosPopulares = []; foreach ($githubRepositorios as $repo) { if ($repo->stars
>= 1000) { $repositoriosPopulares[] = $repo; } } return $repositoriosPopulares; -
function getTIEmails($funcionarios) { $emails = []; foreach ($funcionarios as $funcionario)
{ if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; } -
function getTIEmails($funcionarios) { $emails = []; foreach ($funcionarios as $funcionario)
{ if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; } array_map -
function getTIEmails($funcionarios) { $emails = []; foreach ($funcionarios as $funcionario)
{ if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; } array_filter -
function getTIEmails($funcionarios) { $emails = []; foreach ($funcionarios as $funcionario)
{ if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = []; foreach ($funcionarios as $funcionario) { if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = []; foreach ($funcionarios as $funcionario) { if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = []; foreach ($funcionarios as $funcionario) { if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = []; foreach ($funcionariosTI as $funcionario) { if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = []; foreach ($funcionariosTI as $funcionario) { if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = []; foreach ($funcionariosTI as $funcionario) { $emails[] = $funcionario->email; } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = []; foreach ($funcionariosTI as $funcionario) { $emails[] = $funcionario->email; } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = []; foreach ($funcionariosTI as $funcionario) { $emails[] = $funcionario->email; } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = []; foreach ($funcionariosTI as $funcionario) { $emails[] = $funcionario->email; } return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); return array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); return array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); return array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); return array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); return array_map(function ($funcionario) { return $funcionario->email; }, array_filter($funcionarios, function ($funcionario) { return $funcionario->departamento === ‘TI’; })); } -
function getTIEmails($funcionarios) { return array_map(function ($funcionario) { return $funcionario->email; },
array_filter($funcionarios, function ($funcionario) { return $funcionario->departamento === ‘TI’; })); } -
function getTIEmails($funcionarios) { return array_map(function ($funcionario) { return $funcionario->email; },
array_filter($funcionarios, function ($funcionario) { return $funcionario->departamento === ‘TI’; })); } -
# bem_vindos_a_laraconfbrasil_2017 function toCamelCase($snakeString) { return lcfirst( str_replace(' ', '',
ucwords(str_replace('_', ' ', $snakeString)) ) ); } # bemVindosALaraconfbrasil2017 -
# bem_vindos_a_laraconfbrasil_2017 function toCamelCase($snakeString) { return $snakeString->str_replace('_', ' ') ->ucwords()
->str_replace(' ', '') ->lcfirst() } # bemVindosALaraconfbrasil2017 -
# bem_vindos_a_laraconfbrasil_2017 function toCamelCase($snakeString) { return $snakeString->str_replace('_', ' ') ->ucwords()
->str_replace(' ', '') ->lcfirst() } # bemVindosALaraconfbrasil2017 -
# bem_vindos_a_laraconfbrasil_2017 function toCamelCase($snakeString) { return $snakeString->str_replace('_', ' ') ->ucwords()
->str_replace(' ', '') ->lcfirst() } # bemVindosALaraconfbrasil2017 -
# bem_vindos_a_laraconfbrasil_2017 function toCamelCase($snakeString) { return $snakeString|>str_replace('_', ' ') |>ucwords()
|>str_replace(' ', '') |>lcfirst() } # bemVindosALaraconfbrasil2017 -
# bem_vindos_a_laraconfbrasil_2017 function toCamelCase($snakeString) { return $snakeString|>str_replace('_', ' ') |>ucwords($$)
|>str_replace($$, ' ', '') |>lcfirst($$) } # bemVindosALaraconfbrasil2017 -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = array_filter($funcionarios, function ($funcionario) { return
$funcionario->departamento === ‘TI’; }); $emails = array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = $funcionarios->filter(function ($funcionario) { return $funcionario->departamento
=== ‘TI’; }); $emails = array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = $funcionarios->filter(function ($funcionario) { return $funcionario->departamento
=== ‘TI’; }); $emails = array_map(function ($funcionario) { return $funcionario->email; }, $funcionariosTI); return $emails; } -
function getTIEmails($funcionarios) { $funcionariosTI = $funcionarios->filter(function ($funcionario) { return $funcionario->departamento
=== ‘TI’; }); $emails = $funcionariosTI->map(function ($funcionario) { return $funcionario->email; }); return $emails; } -
function getTIEmails($funcionarios) { return $funcionarios->filter(function ($funcionario) { return $funcionario->departamento ===
‘TI’; })->map(function ($funcionario) { return $funcionario->email; }); } -
function getTIEmails($funcionarios) { $emails = []; foreach ($funcionarios as $funcionario)
{ if ($funcionario->departamento === ‘TI’) { $emails[] = $funcionario->email; } } return $emails; }