PHP — Faker & Factory no Laravel 5.3

Victor Hugo Rocha
2 min readSep 14, 2016

--

Olá, devZ.

Hoje eu vou falar sobre o melhor mid-laner do mundo. Sim, finalmente vamos tocar num assunto que eu domino plenamente. Brincadeira. Papo rápido sobre Faker que é uma biblioteca PHP que gera dados falsos para você popular o seu Banco enquanto você está num ambiente de desenvolvimento.

Victor, posso usar o Faker sem usar o Laravel?

Sim! Essa biblioteca já vem no Laravel mas você pode ver como instalar ela na sua aplicação pelo github. Alias, tem tudo no readme deles. É tão completo que esse texto fica um pouco desnecessário mas eu já comecei então lá vai. Dá pra gerar muitos dados usando essa biblioteca, além de coisas óbvias como nome, e-mails, cidade, telefones dá pra fazer um uso mais rebuscado da ferramenta e gerar informações de cartão de crédito, códigos de barra, imagens, … Sim, imagens.

Esse é o exemplo mais simples da aplicação, estou criando um Usuário com o nome admin e o e-mail e senha como vocês vêem na imagem ao lado.

Essas são todas as informações que um usuário possui, Victor?

Não! Mas tudo bem, o Faker completa para você os campos que você não fez manualmente.

Beleza, mas o que é esse factory?

Como você já percebeu, é necessário inserir algumas linhas no seu banco de dados para você alguns testes durante o desenvolvimento. O Factory faz isso. É como se o Faker criasse o boato de que você bebeu todas na última festinha e o Factory colocasse isso no grupo da família do “zapzap”.

Eu não estava esperando esse exemplo…

Aposto que você entendeu! Me deixa continuar, então eu posso usar o Faker para inserir poucas linhas nas minhas tabelas e testar coisas, é isso? Mais ou menos. Você pode inserir quantas linhas você quiser! Outra facilidade proporcionada pelo Laravel é que você tudo isso pelo Tinker.

Pera, Victor. O que é Tinker?

Tinker é um REPL (Read, Eval, Print, Loop)… Foda-se, né? Basicamente REPL é uma linguagem Shell que lê o comando que você dá, processa ele e te joga uma resultado. O Tinker é uma forma rápida de obter dados da nossa aplicação, principalmente respostas do banco de dados. É uma das ferramentas menos conhecidas do Laravel mas muito útil.

--

--