Você está na página 1de 2

Estrutura MVC

• Model, View e Controller Routes


• Maior facilidade de manutenção
• Integra a parte que tem contato com o banco de dados
• Delimitam qual controller irá responder a determinada URL
acessada
• Facilidade de migração de bases de dados
• API – Recursos para a criação de serviços web (routes/api.php)
• Separação de tarefas dentro da equipe
• Web Recurso para aplicações web (routes/web.php)

Config
• Configurações de banco de dados, e-mail e outras definições

Database
• Controller envia dados para serem visualizados na View;
• Factory: classe auto-gerada com a propriedade para gerar dados
• Usuário interage com a View, enviando dados/eventos para o
automaticamente
Controller;
• Migrations: controle de versões facilitando a modificação e
• O Model, recebe os dados que foram recebidos no Controller, realiza
compartilhamento da estrutura do banco de dados
as funções da parte lógica e envia ao Banco de Dados
• Model “devolve” para o Controller o resultado das funções lógicas. Public

Estrutura de Pastas do Laravel • Arquivos como CSS, JavaScript e o index.php


• Raiz do site
APP
Vendor
• Toda a lógica, modelos, controladores e implementações
• Pasta Models (app/Models/) • Arquivos do framework, controlados pelo composer
o Model Default – user.php Arquivos de configuração
• Responsáveis pelo acesso aos dados
• .env: armazenar arquivos sensíveis como senhas de banco de dados e
• Models definem classes que vão se tornar tabelas de dados
a URL principal usada
• Pasta Controllers (app/Http/Controllers/)
• .env.example: arquivo de definições locais
o Controller Default – Controller.php
• Responsável pelo carregamento das views O que é API
• Acesso aos dados através da ligação com os models
• Forma de conexão entre sistemas, permite integração entre dois
Resources sistemas de maneira que um deles fornece informações e serviços que
podem ser utilizados pelo outro sistema.
• Pasta Views (Resources/views/)
o Extensão blade.php
o Blade manipula dados com layout dinâmico e flexível
• Responsáveis por carregar as interfaces ao usuário
• Geralmente usa HTML para estrutura das interfaces
Como criar Rotas
• 1. Rota para apresentar apenas uma mensagem: • Imprimindo dados na view enviados ao controller:
Route::get("/apareceNaURL", function(){
return “De nada pelo resuminho bbs”; public function index(){
}); $variável = [
['campo'=>'dado', 'campo2'=>'dado2'],
];
• 2. Rota que apresenta uma mensagem com parâmetro não obrigatório: return
Route::get("/apareceNaURL{variável?}", view('pasta.arquivo',compact('variável'));
function($variável = null){ }
return “De nada pelo resumo, by $variável”;
}); • Na view index:

• 3. Rota comum para abrir páginas: <h1>


@foreach($variável as $variavel2)
Route::get("/apareceNaURL", function(){ <p>{{$variavel2['campo']}}</p>
return view('view que quer mostrar'); <p>{{$variavel2['campo2']}}</p>
}); @endforeach
</h1>
• 4. Rota a partir de um formulário:
Route::post('/nomeDaRota', ['uses'=>
'App\Http\Controllers\NomeDoController@NomeDaFunç Templates de Blade para as visões
ão']);

• Partes que se repetem como cabeçalho e rodapés são feitos


• 5. No form que chamou a rota:
<form action="/nomeDaRota" method="post" separadamente para permitir a reutilização
name="frmImc">
• Armazenados na pasta layout dentro de views
{{csrf_field()}}
• Template cabeçalho:

Como criar Controladores <head>


<title> @yield('título') </title>
</head>
• Classe que trata os fluxos de execução encaminhados pela rota
• No terminal: php artisan make:controller <nome do controle> • Template rodapé:
• No controller cria-se o método que será direcionado pela rota 4 <footer>
(exemplo anterior) <title> @yield('rodape') </title>
</footer>
• Dados recebidos pelo form são armazenados na Request (vetor com
todas as informações) • Template site:

• Parâmetro Request recebe esses dados (Request $req) @include(“layout.cabecalho”)


@yield(‘conteudo’)
• Função dd($req): visualizar os dados dessa variável, códigos que @include(“layout.rodape)

estejam abaixo dessa função não serão executados (atua como um


• Note que a sintaxe usada é, nome da pasta. nome do arquivo;
break);
Como Criar Visões Como criar Migrações
• É necessário criar uma pasta para cada • Criadas dentro da pasta database, dentro de migrations
visão distinta dentro da pasta View • No terminal: php artisan make:migration <create table nomedatabela>

• Index é arquivo comum das visões, porém • Para criar uma migration que já relacione com uma model, no

cada um é referente a view da sua pasta terminal utilize a sintaxe: php artisan make:model <nomemodelo> -m
• Estrutura da tabela criada na migration
Relacionando Controller e View public function create()
{
• No controller, para retornar um arquivo de uma view: Schema::create('Tabela', function(Blueprint
$table) {
public function index(){ $table->increments('id');
return view(pasta.arquivo); $table->tipo('campo');
} });
}

Você também pode gostar