Fazendo um CRUD e conhecendo o Laravel
Laravel é um framework PHP livre e open-source criado para o desenvolvimento de sistemas web que utilizam o padrão MVC e tem como principal característica, ajudar a desenvolver aplicações seguras e performáticas de forma rápida, com código limpo e simples.
Oi! Me chamo Hosana Barcelos e sou Desenvolvedora na Sysvale Softgroup. Esse artigo tem como objetivo mostrar como foi minha experiência com o Framework Laravel. Bora embarcar nessa viagem espacial?
Por diversas vezes passei olhando alguns arquivos PHP usando o Laravel e sempre saia deles com algumas (ou muitas) dúvidas sobre o funcionamento desse cara!
Fiz um projeto usando o Vue como SPA e o Laravel como API que cria e gerencia frases, para começar a entender como funciona o famoso Laravel e todo o seu fluxo. E como no fim tudo é CRUD, tinha que ser um CRUDzinho, né?
Apesar de ser um projeto básico e iniciante, dá pra absorver a base necessária para começar a usar o framework.
Requisitos
Para começar o desenvolvimento da API, foi importante entender as etapas necessárias. Primeiramente, é nececessário atender os requisitos básicos do framework conforme a documentação oficial do Laravel:
- PHP >= 7.2.5
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
Instalação
Após, foi necessário utilizar o gerenciador de pacotes composer para fazer a instalação do Laravel. Com o composer instalado e no diretório escolhido, bastou rodar o seguinte comando para começar a instalação:
composer create-project --prefer-dist laravel/laravel crud-laravel
E para iniciar o servidor, é só acessar o diretório que acabou de ser criado e rodar o comando:
php artisan serve
Informações do Banco
No diretório raiz onde o projeto crud-laravel foi criado, é possível visualizar um arquivo .env e é nesse arquivo que realizamos as configurações de ambiente. Essa parte requer atenção pois se as configurações do Banco de Dados não estiverem corretas, o projeto não funcionará como o esperado. As informações do meu Banco de Dados ficaram assim:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
IPC: Caso você visualize o erro Access denied for user ‘root’@’localhost’ (using password: NO) no navegador, significa que você está tentando acessar a base de dados pelo usuário root sem informar a senha. Verifique no seu banco de dados qual a senha desse usuário e tente acessar a base com a senha.
Mais informações no link: https://pt.stackoverflow.com/questions/70151/erro-access-denied-for-user-rootlocalhost-using-passwordno-ao-aceder-a
Desenvolvimento
- Para o começo do desenvolvimento, primeiro criamos um Model:
php artisan make:model Phrase -m
2. Após a criação do modelo, iremos criar as tabelas do banco no arquivo presente em database/migrations (o Laravel já possui algumas migrations nativas e é possível visualizá-las a partir do diretório citado). Essa tabela terá os atributos category e phrase:
3. Agora vamos criar efetivamente essa tabela em em nosso banco, rodando as migrations. E para isso, iremos utilizar o artisan com o seguinte comando:
php artisan migrate
Se as migrations foram rodadas com sucesso, podemos partir para a criação das rotas.
4. Para criarmos as rotas, iremos até o arquivo api.php presente em /routes/api.php. Criamos 5 rotas:
- Rota GET para listar as frases;
- Rota POST para adicionar uma nova frase na lista;
- Rota GET para retornar os dados de uma frase específica;
- Rota PUT para editar uma frase;
- Rota DELETE para excluir uma frase.
5. Após a criação das rotas, iremos criar o Controller com o seguinte comando:
php artisan make:controller PhraseController
6. Dentro do Controller (presente no diretório Http/Controllers/PhraseController.php) iremos criar nossas funções para os métodos vistos anteriormente.
Após a criação dos métodos, nosso back-end está pronto e tudo já pode ser testado! Para visualizar a interação com os métodos, precisei integrar o back-end ao front-end com ajuda do Axios. Você pode ver o consumo da API e criação dos métodos no Vue através da pasta /app presente no repositório.
7. Ao acessar a rota de listagem, é possível visualizar todas as frases que foram cadastradas no banco:
Foi uma experiência interessante desenvolver um CRUD com Laravel pois consegui absorver o fluxo de funcionamento, tanto começando um projeto novo, quanto gerenciando um já existente. 🚀
O projeto está disponível no GitHub e você consegue acessar por esse link: https://github.com/hosanabarcelos/crud-laravel.
Você pode acompanhar o escritor em outras redes acessando hosana.me.