микрозаймы онлайн займы на карту займы по паспорту

Autenticação fácil com Confide 3

ConfideConfide é um pacote para Laravel 4 que busca facilitar ainda mais a implementação das funções básicas de usuário e autenticação. Ou seja, toda a parte repetitiva de cadastro, login, “esqueci minha senha” e confirmação por e-mail.

O objetivo do Confide é simplificar todo esse processo, portanto o seu uso é bem simples.

Instalação

Assumindo que temos uma aplicação básica do Laravel 4 funcional.

Caso você não tenha uma aplicação básica, de uma lida em
Iniciando com Laravel 4 ou Primeiros passos com Laravel 4.

Em seu arquivo composer.json, ao final da chave require adicione a seguinte linha:

...
    "require": {
        "laravel/framework": "4.0.*",
        "zizaco/confide": "<dev-master"
    },
...

Ao especificar a versão como sendo <dev-master o Composer irá buscar o ultimo release do pacote exceto o dev-master.

Após isso, rode o comando update do Composer no console

$ composer update

Em seu arquivo config/app.php adicione a entrada 'Zizaco\Confide\ConfideServiceProvider' ao final da array $providers. O resultado deve ser semelhante ao mostrado abaixo:

...
'providers' => array(

    'Illuminate\Foundation\Providers\ArtisanServiceProvider',
    'Illuminate\Auth\AuthServiceProvider',
    ...
    'Zizaco\Confide\ConfideServiceProvider',

),
...

Ainda no arquivo config/app.php adicione a entrada 'Confide' => 'Zizaco\Confide\ConfideFacade' ao final da array $aliases:

...
'aliases' => array(

    'App'        => 'Illuminate\Support\Facades\App',
    'Artisan'    => 'Illuminate\Support\Facades\Artisan',
    ...
    'Confide'    => 'Zizaco\Confide\ConfideFacade',

),
...

Por final coloque um endereço de e-mail e nome na chave 'from' do arquivo config/mail.php

...
'from' => array(
    'address' => '[email protected]', 'name' => 'MyApp'
),
...

Model User

Altere ou crie o arquivo app/models/User.php para:

<!--?php <br ?-->
use Zizaco\Confide\ConfideUser;

class User extends ConfideUser {

}

Sim, o arquivo fica muito menor. Isso ocorre porque ao estender a classe ConfideUser o modelo já terá todo o comportamento necessário ao nosso model.

Agora gere as migrations do Confide através do comando:

$ php artisan confide:migration

O comando irá gerar uma migração com o nome de _confide_setup_users_table.php migration no seu diretório app/database/migrations. Agora você pode rodar essa migration com o comando migrate do artisan:

$ php artisan migrate

A migration irá criar uma tabela contendo os campos username, email, password, confirmation_code e confirmed, que são os campos necessários ao Confide. Posteriormente você poderá adicionar mais campos a tabela users.

Antes de rodar as migrações, certifique-se de que a sua aplicação já conecta com a base de dados e de ter executado o comando php artisan migrate:install antes.

Controller e rotas

Após termos as tabelas devidamente configuradas basta rodar os comandos a seguir para que seja geradas as rotas e o controller que irão cuidar das funcionalidades básicas:

$ php artisan confide:controller
$ php artisan confide:routes

Após executar os comandos acima, note que novas rotas surgiram ao final do seu arquivo app/routes.php bem como um novo controller em app/controllers/UserController.php. Você pode editar ambos os arquivos posteriormente.

Por final, não se esqueça de executar o dump-autoload do Composer:

$ composer dump-autoload

Pronto pra usar

Sua aplicação já possuí as funcionalidades propostas pelo Confide. Para acessar, com as configurações que foram seguidas aqui, use as seguintes rotas:

http://localhost:8000/user/create
http://localhost:8000/user/login
http://localhost:8000/user/forgot_password

Para acessar o usuário que estiver logado basta utilizar o comando Confide::user(). Portanto, para mostrar o nome do usuário corrente podemos editar o arquivo app/views/hello.php para:

</pre>
<h1>Hello World!</h1>
<h2><!--?= Confide::user() ? Confide::user()--->username : 'nobody' ?></h2>
<pre>

Vá em frente. Cadastre um usuário pela url http://localhost:8000/user/create, faça login e verá o seu nome de usuário na tela.

Aparência

Os formulários padrões do Confide são compatíveis com o Twitter Bootstrap. Portanto não se intimide com a “feiura” deles em uma pagina sem CSS algum. No controller gerado pelo Confide (UserController.php) altere o método create para o seguinte:

    public function create()
    {
        return View::make('user.signup');
    }

Desta forma você irá renderizar a View user.signup. Vamos criar essa view no diretório app/views/user com o nome de signup.blade.php e com o seguinte conteúdo:

<!doctype html><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><meta name="viewport" content="width=device-width,initial-scale=1" />
MyApp
    <!-- Um host do TwitterBootstrap -->
        	<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap.no-icons.min.css" rel="stylesheet" /></pre>
<style><!--
body{             background-color: #EEE;         }         div.maincontent{             padding: 40px;             border-radius: 5px;             moz-border-radius: 5px;             background-color: #FFF;             width: 600px;             margin: auto;             margin-top: 40px;             box-shadow: 0px 0px 10px rgba(0,0,0,0.2);             moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.2);         }
--></style>
<pre></pre>
<div class="maincontent">
<h1>Signup</h1>
 <!-- Renderiza o form de cadastro do Confide -->
 {{ Confide::makeSignupForm()->render(); }}</div>
<pre>

Agora basta acessar http://localhost:8000/user/create para ter um resultado muito mais elegante:

Confide com TwitterBootstrap

Confide com TwitterBootstrap

Não é necessário utilizar os formulários gerados pelo Confide. Você pode criar seu próprio formulário que envie os dados para a rota POST correta.

Em português

O Confide possuí arquivos de localização para português. Para usa-lo basta editar a configuração locale no seu arquivo config/app.php para 'pt':

...
'locale' => 'pt',
...

Conclusão

É possível notar a rapidez com que as funcionalidades que são comuns a grande maioria das aplicações web foram concretizadas me nossa aplicação. Apesar disso, o controller, as rotas e a migração gerados podem ser alterados de forma a não limitar o desenvolvedor aos valores padrão do Confide.

Falamos pouco da classe ConfideUser. Porém o importante a saber é que uma vez que seu model estende essa classe, não é necessário se preocupar em implementar os comportamentos básicos e ao mesmo tempo é possível sobrescrever os métodos e criar seu próprio comportamento, caso seja necessário.

Podemos concluir que o Confide traz a conveniência de ter as funcionalidades out-of-the-box e ao mesmo tempo permite personalizar seu comportamento.

  • Wemerson C. Guimarãeas

    Muito bom o artigo cara… Achei formidável a abordagem…

  • João Mello

    Muito bom, mas como faço para validar o usuário com email de confirmação?

  • http://about.me/ramirovjnr Ramiro Varandas Jr

    Depois só não esquece de atualizar o tutorial, pois ainda aponta para o antigo ServiceProvider e Facade.