Nesse post iremos aprender como criar um formulário de cadastro e login completo com apenas uma linha de comando, isso sim apena uma linha, além disso também aprenderemos como validar usuários logados!
Glossário:
- Tutorial Laravel para iniciantes - Parte 01 [Instalação e configuração]
- Tutorial Laravel para iniciantes - Parte 02 [Primeiro Formulário e MVC]
- Tutorial Laravel para iniciantes - Parte 03 [Configuração e manipulação do MySQL]
- Tutorial Laravel para iniciantes - Parte 04 [Controller e Injeção de dependência]
- Tutorial Laravel para iniciantes - Parte 05 [Validar formulário com FormRequest]
- Tutorial Laravel para iniciantes - Parte 06 [Relacionando models com o Eloquent ORM, criando migrations e seeds]
- Tutorial Laravel para iniciantes - Parte 07 [Criando uma Camada de autenticação]
- Tutorial Laravel para iniciantes - Parte 08 [Entendendo view com @extends, @yield e @section]
1) Criando Formulário de Login / Cadastro
Nas versões anteriores do Laravel era necessário criar o formulário manualmente, porem no Laravel 5.4 basta executar um somando que já é criado automaticamente o formulário de cadastro, com apenas nome, e-mail e senha como o nosso foco é facilitar e agilizar o desenvolvimento, faremos uso desse recurso, e para isso execute o comando a baixo:
php artisan make:auth
O que esse comando faz? Basicamente ele cria uma página completa com o formulário de cadastro, login e recuperação de senha! Agora caso queira edita-los, basta seguir no diretório resources/views/auth que lá teremos os arquivos: login.blade.php e register.blade.php.
Com esse comando não será necessário criar nenhuma classe de controle, nem criar as Routes, em outras palavras após executar esse comando está pronto!
2) Alterando nossa tela inicial
Aqui eu vou sair rapidamente do foco desse post devido a uma coisa muito legal que percebi, em projetos pessoais eu criava variáveis que basicamente contem partes do código que se repetiam por toda a página assim facilitando o desenvolvimento, ao estudar Laravel estava ficando preocupado em ter que reescrever códigos, porem ao chegar nessa parte dos meus estudos vi que estava enganado! Então vamos lá! Aqui basicamente removi o HTML exceto o conteúdo do <div class="container">, basicamente abra o seu welcome.blade.php e substitua pelo código abaixo e repita o processo com o listar.blade.php:
Como falei basicamente removi todo o código excluindo o conteúdo da div.
Agora abre em seu navegador e veja as diferenças, o novo menu que está aparecendo está localizado no diretório layouts no arquivo app.blade.php.
Após ver e ficar abismado com essa nova tela, vamos fazer um novo cadastro essa parte é por sua conta:
Tente abrir a listagem de contatos antes de estar logado, a aplicação irá direcionar para o formulário de login, porem caso já esteja logado o sistema irá carregar a listagem sem nenhum problema! Para saber mais sobre Middlewares veja esse link: https://laravel.com/docs/5.4/middleware
Nesse post não tenho muito a explicar pois o Laravel já faz todo o nosso trabalho na hora de criar o formulário de login e cadastro, mas a frente irei aprender e ensinar como personalizar esses formulários, mas por hoje vamos ficar aqui mesmo! Off comprei o livro Laravel para Ninjas estarei lendo-o e trarei uma resenha para vocês e também usarei o conteúdo dele para fazer mais postagens!
Como falei basicamente removi todo o código excluindo o conteúdo da div.
Agora abre em seu navegador e veja as diferenças, o novo menu que está aparecendo está localizado no diretório layouts no arquivo app.blade.php.
Após ver e ficar abismado com essa nova tela, vamos fazer um novo cadastro essa parte é por sua conta:
Formulário de Cadastro |
3) Protegendo a rota /listar
Agora vamos editar a nossas rotas para adicionarmos os Middleware para a rota /listar:O middleware fornece um mecanismo conveniente para filtrar solicitações HTTP inserindo seu aplicativo. Por exemplo, o Laravel inclui um middleware que verifica se o usuário do seu aplicativo está autenticado. Se o usuário não estiver autenticado, o middleware redirecionará o usuário para a tela de login. No entanto, se o usuário for autenticado, o middleware permitirá que a solicitação continue na aplicação.Abra o diretório routes/ e o arquivo web.php e vamos edita-lo, remova a atual linha destinada a rota listar/ e adicione a nova:
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', 'ContatoController@index');
Route::post('/enviar', 'ContatoController@enviar');
// Route::get('/listar', 'ContatoController@listar'); // Linha antiga somente para comparação
Route::get('/listar', ['middleware' => 'auth', 'uses' => 'ContatoController@listar']);
// LOGIN
Auth::routes();
Route::get('/home', 'HomeController@index');
Aqui repare que o middleware, para verificar se o usuário está logado, vamos testar!Tente abrir a listagem de contatos antes de estar logado, a aplicação irá direcionar para o formulário de login, porem caso já esteja logado o sistema irá carregar a listagem sem nenhum problema! Para saber mais sobre Middlewares veja esse link: https://laravel.com/docs/5.4/middleware
Nesse post não tenho muito a explicar pois o Laravel já faz todo o nosso trabalho na hora de criar o formulário de login e cadastro, mas a frente irei aprender e ensinar como personalizar esses formulários, mas por hoje vamos ficar aqui mesmo! Off comprei o livro Laravel para Ninjas estarei lendo-o e trarei uma resenha para vocês e também usarei o conteúdo dele para fazer mais postagens!
Se vocês gostaram desse Post não deixe de compartilhar com seus amigos!!!
E para não perder nenhuma novidade nos sigam nas redes sociais:
Twitter: @Bulfaitelo
Facebook: Bulfaitelo Project
Blogger: Bulfaitelo Project