PHP + POO + MVC

Vejam só que incrível este sistema que fiz.

## Iniciando Clone o repositório do projeto ``` $ cd /var/www/html/ $ git clone https://www.github.com/InfoJrUFBA/meuprojeto.git $ cd meuprojeto ``` Configure o seu usuário do git ``` $ git config user.name "John Doe" $ git config user.email johnd@infojr.com.br ``` Crie uma nova branch ``` $ git checkout -b capacitacao-poo-mvc ```

Introdução a MVC

Introdução a MVC

Model-View-Controller

MVC

"Model–view–controller (MVC) is a software architectural pattern for implementing user interfaces on computers. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user."


TL;DR: Padrão ARQUITETURAL de Software que divide a aplicação em três partes interconectadas.

Quem te falou que é um padrão de design errou!

  • Padrão arquitetural: nível de estrutura do sistema.
  • Padrão de design: nível de código do sistema.

Model

Camada de manipulação dos dados

  • Geralmente fornece uma classe que representa o modelo.

Controller

Camada de Controle (decisão) do sistema

  • Recebe a requisição de ação do usuário e decide o que fazer.

View

Camada de interação com o usuário

  • Parte que o usuário vê.
  • Geralmente relacionada a uma página do sistema.

Helper*

Camada de suporte às outras camadas

  • Depende da aplicação construída.
## Criando as pastas Crie as novas pastas no seu projeto ``` $ mkdir models $ mkdir views $ mkdir controller ```

Introdução a POO

Introdução a POO

Programação Orientada à Objetos

POO

Paradigma de programação em que se abstrai o código para uma coleção de objetos que podem interagir entre si

Classe

Abstração que define um tipo de objeto

  • Pessoa
  • Cachorro

Atributo

Características de um objeto

  • Telefone, CPF, Estado Civil - Pessoa
  • Nome, Raça - Cachorro

Método

Ações/Eventos que o objeto pode executar

  • Latir(), PegarOsso(), CavarBuraco() - Cachorro
  • Andar(), Dormir(), Comer() - Pessoa

Objeto

Instância de uma Classe

  • Rex (Instância da Classe Cachorro)
  • Joãozinho (Instância da Classe Pessoa)

Exercício M

Objetivo

Identificar e criar a primeira entidade do sistema.

Método

Pensar sobre o escopo do projeto (qual parte envolve manipulação de dados?)

Pensar num *modelo* da sua entidade e quais atributos ela deve ter.

Escrever um arquivo Entidade.php que contenha uma Classe Entidade.

Exercício V

Objetivo

Identificar e criar a primeira página de formulário do sistema.

Método

Lembra do modelo que você criou anteriormente? Agora você precisa controlá-lo.

Escrever um arquivo entidade/pagina.php que contenha um formulário.

Exercício C

Objetivo

Identificar e criar a primeira controller do sistema.

Método

Lembra do modelo que você criou anteriormente? Agora você precisa controlá-lo.

Escrever um arquivo EntidadeController.php que contenha uma Classe EntidadeController.

Fontes

O FIM

Vlw Flw #BoraCodar