Skip to content

gabrielhaase/code.education-php-oo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

code.education - PHP OO - Projeto fase 3

Cadastro de clientes.

Descrição:

  • Criação de uma listagem de clientes utilizando as técnicas lecionadas no capítulo.

Proposta Fase 1 (Cadastro de clientes):

  • Crie uma classe com os principais atributos que um cliente deve ter, como nome, cpf, endereço, etc.
  • Crie um array de objetos de clientes, com 10 clientes dentro.
  • Crie uma página e faça a listagem geral dos clientes. Quando clicar sobre o cliente, você deverá mostrar os dados específicos do cliente selecionado.
  • Nessa listagem você também deverá ter a opção de ordenar os clientes pelo seu índice de forma ascendente e descendente.
  • Não se esqueça de caprichar na interface utilizando o twitter bootstrap.

Proposta Fase 2 (Tipos de clientes):

  • Agora que você já tem seu cadastro de cliente, você deverá também aceitar clientes Pessoa Jurídica em sua listagem.
  • Não se esqueça de trabalhar com os modificadores de acesso e os getters e setters.
  • No momento da listagem dos clientes, você deve indicar em uma das colunas se o cliente é pessoa física ou jurídica.
  • Ambos os tipos devem implementar uma interface onde seja possível classificar o grau de importância do cliente para a empresa (ex: cliente 1,2,3,5 estrelas).
  • Você também terá a opção de criar clientes que utilizão endereço específico de cobrança, nesse caso, crie uma interface para que esses tipos de clientes possam implementar.

Proposta Fase 3 (Refatoração):

  • Refatore as classes utilizadas de seu projeto para que as mesmas trabalhem com namespaces.
  • Verifique se dentro de seu projeto há a necessidade de se trabalhar com classes abstratas.
  • Não se esqueça de criar a estrutura de diretórios, nome de arquivos e classes seguindo a PSR-0 (www.php-fig.org).
  • Faça a implementação do autoload para que você não precise mais trabalhar com require/include para a chamada de suas classes.
  • Deixe todo o fonte de sua aplicação no mesmo nível que o DocumentRoot do servidor web. Deixe a pasta que está visível para web (seu DocumentRoot) apenas com o index.php e os demais assets(css, javascript e imagens).

Proposta Fase 4 (Persistência de dados):

  • Nessa última fase do projeto, você, ao invés de trabalhar com arrays, você deverá persistir essas informações no banco de dados.
  • Em suas fixtures, você deverá criar uma classe com métodos específicos para persistirem dados no banco. Você terá que injetar no construtor dessa classe um objeto PDO (somente PDO).
  • Crie um método chamado persist dentro dessa mesma classe; esse método deverá receber como dependência um objeto do tipo Cliente.
  • E para finalizar, crie um método chamado flush. Quando o método for executado, os dados devem ser persistidos no banco de dados.
  • Perceba que a responsabilidade de gravar os dados no banco são especificamente dessa classe, sem adicionar nenhuma outra responsabilidade a ela.

PS.:
Database config: config.ini
Executar arquivo: fixtures.php

About

Exercícios Code Education PHP POO

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages