Projeto da Sebo Online: unindo MVC, PHP, Banco de Dados e Git

Um projeto a qual unimos as tecnologias, os template engines e também o controle de versão

Quando falamos de desenvolvimento web moderno, especialmente no back-end, o padrão MVC (Model-View-Controller) é um dos mais adotados. Ele organiza a estrutura das aplicações de forma clara, melhorando a manutenção e escalabilidade do projeto. Vamos explorar como isso funciona e como frameworks e práticas de persistência em bancos de dados aceleram ainda mais o seu desenvolvimento!

Afinal, o que é o MVC mesmo?

Diagrama encontrado, que ilustra a ponte dos dados entre o Model, o View e o Controller.

Imagem de: https://dfilitto.blog.br/desenvolvimento/o-que-e-mvc-model-view-controller/

O MVC é uma arquitetura, responsável pela ponte entre a visualização (Views, com os Template Engines), o cérebro das operações (Controllers) e, por fim, os Models (base de dados).

Caso ainda não tenha programado em Banco de Dados, mas começou a diagramação (pelo MER e DER), fica tranquilo: você já descobriu como criar visualmente a base de dados. E vamos aproveitar essa sua criação para um produto.

Controller

Controllers são a ponte entre a interface do usuário (views) e a lógica de negócios (models). Eles recebem as requisições do cliente, processam essas informações (geralmente conversando com os Models) e determinam qual View deve ser exibida.

Por exemplo, pra que eu crie um Tipo de Produto eu devo ter um formulário com um input simples. Esse formulário será conectado através da função criar, que terá como parâmetro os dados do meu formulário (id e o nome deste tipo).

Model

O Model é o responsável pela lógica dos dados: acesso, validação, manipulação e atualização. Ele representa as entidades da aplicação — por exemplo, um usuário, um produto, uma postagem no blog.

E o que é uma entidade? Simples, é a nossa tabela! Uma tabela de usuário, uma tabela de produto ou uma tabela de posts. Elas são as nossas entidades, ai dentro delas, temos os atributos (variáveis e seus tipos) que podem ser também ligações à outras entidades.

Funções de um Model:

  • Validar as informações preenchidas no formulário.
  • Consultar ou modificar dados em bancos – sem a necessidade do programador do banco fazer as operações CRUD, o sistema fará.
  • Definir regras de negócio – ou seja, os requisitos para o nosso sistema.

View

Views são os arquivos responsáveis por renderizar a interface que o usuário vê.
Normalmente, não contêm muita lógica — apenas exibem os dados que queremos exibir (dentro das regras de negócio).

Exemplo de uma view com uma lista de produtos, utilizando o Twig:

{% extends "layout/base.twig" %}

{% block content %}
    <h1>Nosso Acervo</h1>
    <table>
        <tr>
            <th>Título</th>
            <th>Autor</th>
            <th>Tipo</th>
            <th>Preço</th>
            <th>Ações</th>
        </tr>
        {% for produto in produtos %}
            <tr>
                <td>{{ produto.titulo }}</td>
                <td>{{ produto.autor }}</td>
                <td>{{ produto.tipo_nome }}</td>
                <td>R$ {{ produto.preco|number_format(2, ',', '.') }}</td>
                <td>
                    <a href="{{ path('editar', {id: produto.id}) }}">Editar</a>
                    <a href="{{ path('excluir', {id: produto.id}) }}">Excluir</a>
                </td>
            </tr>
        {% endfor %}
    </table>
{% endblock %}

Páginas: 1 2 3 4

· ·

últimas aulas

confira mais [ -> ]

Descubra mais sobre Apprendendo

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continuar lendo

Descubra mais sobre Apprendendo

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continuar lendo