O que é o Laravel Framework?
Laravel é uma framework php trabalhado em MVC para o desenvolvimento web. É considerada a framework mais utilizada para se trabalhar em ambiente PHP de forma profissional, já que possui uma estrutura elegante, buscando agilidade e otimização.
E o que é MVC?
Model-View-Controller (MVC) é um padrão de arquitetura de software para implementar interfaces de usuário. Ele divide a estrutura em 3 partes interligadas, de modo a separar cada parte com sua função em questão.
Sendo assim:
Modelo (Model)
Utilizado para a manipulação de dados, sendo responsável pela leitura e escrita de dados.
Visão (View)
Trata-se da parte visual do site, onde se encontrará todo HTML a ser exibido em suas respectivas páginas. O laravel criou uma estrutura nomeada de Blade. (Abaixo segue uma breve explicação sobre)
Controlador (Controller)
Responsável por receber todas as requisições do usuário, sendo a base para a comunicação entre view e model.
Toda essa estrutura poderão ser trabalhas em conjunto as sistema de rotas do laravel. (segue a documentação para mais informações)
Blade, uma Template-engine
O Blade é um mecanismo de modelagem simples e poderoso, te dando total liberdade para escritas de PHP simples em suas visualizações. Os arquivos de exibição do blade usam a extensão .blade.php e são armazenadas na pasta views, dentro de resources.
Demonstração simples
resources/views/layout/theme.blade.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>@yield('ws-title')</title>
</head>
<body>
@yield('ws-content')
</body>
</html>
As @yield('name') são marcações bases que permitem acesso para alterações em outra exibição onde estarão sendo importadas. Segue abaixo como será feito isso:
resources/views/index.blade.php
@extends('layout.theme')
@section('ws-title', 'Título da página')
@section('ws-content')
<div>
Conteúdo da página
</div>
@endsection
Nesse código, podemos ver que há duas marcações na estrutura de visualização: @extends('') e @section('').
@extends('')
Responsável por estender uma estrutura HTML base em sua exibição. Nesse caso, estamos importando toda a base HTML que será representadas nas outras páginas.
@section('')
É nele que será feito a alteração de valores nas @yield('') localizado dentro de um arquivo estendido por @extends(''); Nesse caso, podemos ver duas formas de acessar uma @yield(''). Deve-se atentar no @endsection, apresentada na segunda forma de uso.
Além das marcações apresentadas a cima, o blade dará outras para ser utilizada em sua estrutura, como: @php, @foreatch, @include, etc.. (segue a documentação para maiores informações)
Como instalar o Laravel Framework?
Os requisitos essenciais apresentados na documentação do Laravel para poder rodar a framework livremente, são:
PHP >= 7.2.5
Extensão PHP BCMath
Extensão PHP de tipo
Extensão Fileinfo PHP
Extensão PHP JSON
Extensão PHP Mbstring
Extensão PHP OpenSSL
Extensão PHP DOP
Extensão PHP do tokenizador
Extensão XML PHP
Estando tudo correto, vamos instalar o Laravel em sua máquina.
Instalação
O Laravel utiliza o Composer para gerenciar suas dependências. Portanto, antes de usar o Laravel, verifique se o Composer está instalado em sua máquina.
Primeiramente, vamos fazer o download do instalador do Laravel em sua maquina. Abra um terminar e utilize o comando:
composer global require laravel/installer
Depois de feito o download do instalador, utilize o comando abaixo para criar seus primeiros arquivos para o desenvolvimento do seu site com o Laravel.
laravel new blog
Pronto! Agora você tem uma estrutura totalmente pronta para o desenvolvimento WEB. Para rodar agora o seu site, abra um terminal na pasta onde se encontra a estrutura framework e utilize o comando abaixo:
php artisan serve
Observação
Artisan é uma estrutura de comandos criado para facilitar o usuário em suas aplicações. Leia a documentação para uma leitura mais completa.
Dica
Para se ter todo um ambiente preparado para o Laravel de forma rápida e simples, aconselho utilizar o Laragon. Com uma simples instalação, ele acompanha um gerenciador de banco de dados Mysql, criação rápida dos arquivos Laravel e um sistema de hosts virtuais. Uma infinidade de funções além destas citadas.
Fontes
Documentação do Laravel: https://laravel.com/docs/7.x
Tableless: https://tableless.com.br/mvc-afinal-e-o-que/
Gobacklog: https://gobacklog.com/blog/o-que-e-laravel-e-para-que-serve/
Eai? Gostou de conhecer um pouco sobre o Laravel? Que tal conhecer outras frameworks criada por eles? Deixe abaixo um comentário de outros tutorias/apresentações que querem ver aqui na página.