Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

MVC, MVT e Template Engine - #3 Controllers, Views e Blade

13/05/2020

Na terceira aula do curso de MVC, MVT e Template Engine vamos falar sobre views, controllers e sobre o template engine Blade.

Nosso diretório de arquivos ficará assim:

Diretório de arquivos MVC PHP

Views

As views são os arquivos que apresentam a parte visual para o usuário, o lado frontend, incluindo html, css e javascript.

Dentro da pasta views vamos criar uma subpasta templates. Essa pasta receberá nosso layout de base para os demais layouts. Dentro dela criaremos o arquivo default.blade.php

O arquivo default receberá o código base que não muda de uma página pra outra, tipo cabeçalhos, meta tags, footer...

default.blade.php

<!doctype html>
<html lang="pt-br">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>@yield('title')</title>
</head>

<body>
    @yield('content')
</body>
</html>

O template engine Blade sempre utiliza a extensão .blade antes do .php

Agora, dentro de views, porém fora da pasta templates vamos criar o arquivo home.blade.php

O arquivo home agora extenderá a base (default.blade.php) alterando apenas aquilo que muda.

home.blade.php

@extends('templates.default')
@section('title','Homepage')
@section('content')
    <h1>Minha primeira seção</h1>
    Bem vindo {{$name}}
@endsection

Controllers

Os controllers devem ser criados dentro da pasta controllers e ficarão responsáveis pela parte lógica da nossa aplicação. Criaremos nesse momento o HomeController.php

HomeController.php

<?php
namespace Controllers;

use Jenssegers\Blade\Blade;

class HomeController{

    private $blade;

    public function __construct()
    {
        $this->blade=new Blade(DIRREQ.'views',DIRREQ.'lib/cache');
    }

    #Página index
    public function index()
    {
        $name='Thiago';
        return $this->blade->render('home',compact('name'));
    }
}

Posteriormente na nossa index.php (arquivo despachante) vamos instanciar nosso template engine blade:

index.php

<?php
include("config/config.php");
include(DIRREQ.'lib/composer/vendor/autoload.php');

$controller=new \Controllers\HomeController();
echo $controller->index();

Por hoje é só! Sucesso nos códigos e na vida!

Precisando de suporte especializado? webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

MVC, MVT e Template Engine - #2 Arquivo de Configuração
Continuando nosso curso de MVC, MVT e Template Engine, nessa vídeoaula trataremos da index.php e do arquivo de configuração config.php
Saiba mais!
MVC, MVT e Template Engine - #4 Rotas
Continuando nosso curso de MVC, MVT e Template Engine, nessa vídeoaula aprenderemos sobre rotas. As rotas determinam os controllers de acordo com a requisição.
Saiba mais!
MVC Completo
Neste curso aprenderemos como criar o padrão de projeto MVC completo, analisando desde sua estrutura até a programação.
Saiba mais!