No artigo Laravel – Configurando o Banco de Dados realizamos a conexão de nossa aplicação com a base de dados MySQL, agora vamos testar nossa conexão, e ainda criar todo o sistema de acesso de usuários (login, registro, recuperação de senha) ao nosso sistema.
Aqui começamos a notar como se ganha em produtividade com a adoção de um framework. Um sistema de controle de usuários é composto de milhares de linhas de código, e demandaria um tempo considerável para sua implementação. Com o Laravel nosso esforço será reduzido ao mínimo. Vejamos:
A partir deste ponto utilizaremos o IDE Netbeans como ferramenta de desenvolvimento.
Aqui temos o passo-a-passo da criação de um projeto no Netbeans com base numa estrutura já existente.
O Laravel já disponibiliza o modelo (Model) e os controles (Controllers) necessários para gestão de acesso/autenticação de usuários:
Neste ponto devemos abrir um parênteses para introduzir o conceito de “migrations” do Laravel:
“Migrations” é um conjunto de instruções para o banco de dados a partir de arquivos php.
No momento basta entendermos que utilizamos “migrations” para definir os elementos (tabelas, índices, chaves, …) da base de dados que servirá a nossa aplicação.
Mais adiante iremos detalhar os conceitos que envolvem “migrations”, de qualquer forma, aqui, podemos acessar a documentação oficial.
Bem, voltando, além do modelo e dos controles, o Laravel também já dispõem das “migrations” de criação das tabelas necessárias para nossos processo de gestão de usuários.
Vamos então agora criar as tabelas de usuários em nossa base de dados:
php artisan migrate
Cujo resultado deve ser similar a:
Com isso temos nosso modelo criado em nossa base de dados:
No próximo artigo daremos continuidade a criação de nosso sistema de autenticação de usuários, criando os controles necessários.
PS:
Caso você receba um erro como:
“[Illuminate \ Database \ QueryException] SQLSTATE [42000]: Erro de sintaxe ou violação de acesso: 1071 A chave especificada era muito longa; Comprimento máximo da chave é 767 bytes (SQL: alter table users
add unique users_email_unique
( email
))”
Trata-se de uma questão de compatibilidade entre as versões do Laravel e a do MySQL utilizadas, com algumas alternativas de solução, entre as quais incluir a linha “Schema::defaultStringLength(191);” antes do comando de criação da tabela:
Ou alterar o arquivo “AppServiceProvider.php” incluindo os seguintes comandos:
use Illuminate\Support\Facades\Schema; public function boot() { Schema::defaultStringLength(191); }
Laravel – Autenticação de Usuários – Registro e Login – Parte 2 >>