Featured image of post Introdução ao framework Laravel

Introdução ao framework Laravel

Um guia básico sobre o que é Laravel, suas principais características e por que escolher esse framework

Olá! Bem-vindo(a) ao meu primeiro post!

Neste guia, vou te apresentar o Laravel, explicar suas principais características e mostrar por que escolher esse framework para o desenvolvimento de aplicações web.

Vamos começar!

O que é o Laravel?

O Laravel é um framework de desenvolvimento web em PHP que segue o padrão MVC (Model-View-Controller). Ele foi criado com o objetivo de simplificar o desenvolvimento de aplicações web, oferecendo uma estrutura robusta e elegante.

Principais características do Laravel

  • Expressividade: O Laravel possui uma sintaxe clara e expressiva, o que torna o código mais legível e fácil de entender.

  • ORM (Object-Relational Mapping): O Laravel utiliza um ORM chamado Eloquent, que permite trabalhar com bancos de dados de forma mais intuitiva, utilizando objetos em vez de consultas SQL.

  • Sistema de rotas: O Laravel possui um sistema de rotas flexível e poderoso, que permite definir facilmente as URLs da sua aplicação e associá-las a controladores.

  • Migrações de banco de dados: Com o Laravel, é possível criar e gerenciar facilmente as tabelas do banco de dados através de migrações, evitando a necessidade de escrever consultas SQL manualmente.

  • Autenticação: O Laravel possui um sistema de autenticação completo, que permite controlar o acesso dos usuários às diferentes partes da aplicação.

Por que escolher o Laravel?

Existem várias razões para escolher o Laravel como framework de desenvolvimento web. Algumas delas são:

  • Comunidade ativa: O Laravel possui uma comunidade ativa e engajada, o que significa que você terá acesso a uma grande quantidade de recursos, tutoriais e pacotes adicionais.

  • Documentação completa: O Laravel possui uma documentação completa e bem estruturada, o que facilita o aprendizado e o desenvolvimento de aplicações.

  • Segurança: O Laravel possui recursos de segurança integrados, como proteção contra ataques de CSRF (Cross-Site Request Forgery) e XSS (Cross-Site Scripting).

  • Performance: O Laravel é conhecido por sua performance e escalabilidade, permitindo lidar com grandes volumes de tráfego sem comprometer o desempenho da aplicação.

  • Integração com outras tecnologias: O Laravel possui integração com várias outras tecnologias populares, como o Vue.js, o Bootstrap e o Redis.

Criando sua primeira aplicação Laravel

Existem diversas formas de criar uma aplicação web do zero, mas não vamos entrar em detalhes, vamos pela maneira mais simples.

Instalação

Para criar uma aplicação Laravel básica, precisamos do binário composer, o gerenciador de pacotes PHP, ele é necessário para manter um padrão no gerenciamento de dependências do projeto.

  1. Criando o projeto laravel com o composer
1
composer create-project laravel/laravel nome-da-aplicacao
  1. Entrando no diretório do projeto:
1
cd nome-da-aplicacao
  1. Iniciamos o servidor local do PHP utilizando o binário artisan que o Laravel trás para facilitar a vida dos artesões:
1
php artisan serve
  1. Vai ser gerado um link local para você acessar a aplicação:

    http://localhost:8000

Depois de seguir estes passos e abrir o link gerado, você verá uma tela parecida com essa:

Print da homepage padrão do Laravel

Eis aqui, sua primeira aplicação Laravel de pé.

Criando uma rota para listar usuários

Todo projeto laravel vem com um Model de usuários, fica localizado em app/Models/User.php. Ele já vem todo parametrizado por padrão.

Antes de listar, precisamos criar usuários de teste, já que não temos nenhum. O Laravel conta com ferramentas para nos ajudar nesse quesito, são elas:

  1. Factories (Montam dados válidos e que fazem sentido)
  2. Seeders (É o que vai adicionar as Factories nas nossas tabelas)

O framework trás uma Factory padrão para usuários, fica localizado em: app/database/factories/UserFactory.php, veja o conteúdo do código:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;

/**
 * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User>
 */
class UserFactory extends Factory
{
    /**
     * The current password being used by the factory.
     */
    protected static ?string $password;

    /**
     * Define the model's default state.
     *
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'name' => fake()->name(),
            'email' => fake()->unique()->safeEmail(),
            'email_verified_at' => now(),
            'password' => static::$password ??= Hash::make('password'),
            'remember_token' => Str::random(10),
        ];
    }

    /**
     * Indicate that the model's email address should be unverified.
     */
    public function unverified(): static
    {
        return $this->state(fn (array $attributes) => [
            'email_verified_at' => null,
        ]);
    }
}

Pronto, já temos nossa Factory de usuários, vamos agora criar usando a seed do laravel, para isso vamos pedir para criar 10 usuários para a gente. A gente faz isso chamando a factory do model User que já foram devidamente criados e parametrizados pelo próprio framework.

Veja como fica o arquivo de seed padrão do Laravel:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?php

namespace Database\Seeders;

use App\Models\User;
use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     */
    public function run(): void
    {
        User::factory(10)->create();
    }
}

Utilize o seguinte comando caso não tenha criado as tabelas do seu banco:

1
php artisan migrate

Ok, você alterou mas não foram criados os usuários ainda, você precisa rodar a seed utilizando o seguinte comando no terminal:

1
php artisan db:seed

Depois, basta olhar a sua tabela de usuários… Estará com 10 usuários cadastrados com dados aleatórios, porém válidos.

Print mostrando os 10 usuários na tabela de usuários

Beleza, temos usuários para teste, agora vamos listar os nossos usuários em algum lugar.

Primeiro, vamos criar um controller para os usuários:

1
php artisan make:controller UserController --resource

Será criado uma classe php em app/Http/Controllers/UserController.php, lá dentro vamos procurar o método index e pedir para listar todos os usuários que temos na tabela de usuários.

1
2
3
4
5
6
public function index()
{
    $users = User::all();

    return response()->json($users, 200, [], JSON_PRETTY_PRINT);
}

E por fim, precisamos adicionar uma rota para conseguir acessar isso através do navegador, isso você consegue fazer indo até o arquivo routes/web.php e colocar a seguinte rota:

1
Route::get('/users', 'App\Http\Controllers\UserController@index');

Sempre que você mexer em arquivos de rotas, por serem arquivos que são armazenados em cache para a melhor perfomace da aplicação, você precisa rodar o seguinte comando para limpar o cache das rotas da aplicação, para as alterações serem reconhecidas:

1
php artisan route:cache

E vualá, temos a listagem de usuários cadastrados no nosso banco de dados em http://localhost:8000/users:

Print da listagem dos usuários no navegador

Considerações finais

Espero que este guia básico sobre o Laravel tenha sido útil para você. Se tiver alguma dúvida ou sugestão, deixe um comentário abaixo.

Até a próxima!

Referências

Criado com Hugo
Tema Stack desenvolvido por Jimmy