slides sistema de loja virtual
DESCRIPTION
loja virtual em php orientação a objetos slides para um melhor desenvolvimento seguindo os padrões de projetosTRANSCRIPT
-
2Dvidas?Primeiramente, precisamos nos certificar que os conceitos anteriormente vistos foram entendidos para a criao do nosso projeto final.MVC, Singleton e PDO so pr-requisitos. preciso ter instalados na sua mquina os softwares abaixo:
ou
-
3Orientaes GeraisIniciamos agora o nosso projeto de final de curso: criar uma loja virtual utilizando Orientao a Objetos e MVC.Antes vamos alguns esclarecimentos:1) Ser apresentada uma arquitetura nestes slides, preciso us-la?
No! Ela serve apenas como base. Se achar melhor, pode criar sua loja virtual do zero, usando os padres e arquiteturas.2) Posso simplesmente copiar o esqueleto da loja virtual e entregar?
No, at porque trata-se de um esqueleto. A idia que voc implemente tudo o que foi visto neste curso e no anterior.3) Preciso me preocupar com o layout da loja?
No. O importante a funcionalidade.
-
4O projetoUm sistema de loja virtual pode ser um projeto bem complexo.No faltam exemplos de grandes lojas que realizam boa parte de suas vendas apenas pela internet:http://www.saraiva.com.brhttp://www.submarino.com.brhttp://www.americanas.com.brhttp://www.comprafacil.com.br
Conhecer estes cases pode ser importante para a criao de sua loja!
-
5Arquitetura: Backendadmin.php
Livros
Carrinho Compras
Usurios
Login
View
AdminController
topo.tpl.php index.tpl.php rodape.tpl.php
Requisio HTTP
Resposta HTTP
-
6Arquitetura: Frontendindex.php
Livros
Carrinho Compras
Usurios
Login
View
FrontController
topo.tpl.php index.tpl.php rodape.tpl.php
Requisio HTTP
Resposta HTTPcarrinho.tpl.php listar.tpl.php logar.tpl.php
-
7Estrutura de arquivos/var/www/loja
admin.phpindex.phpbootstrap.phpconfig.phpapp/
AdmController.phpFrontController.phpmodel/
Carrinho.phpCompras.phpLivros.phpUsuarios.php
View.phplib/
Banco.phpLogin.php
view/admin/
topo.tpl.phpindex.tpl.phprodape.tpl.phplivros/
inserir.tpl.phpalterar.tpl.php
usuarios/inserir.tpl.phpalterar.tpl.php
front/topo.tpl.phpindex.tpl.phprodape.tpl.phpcompras/
carrinho.tpl.phplivros/
listar.tpl.phpusuarios/
logar.tpl.php
- 8Configurando o banco1. Altere o arquivo config.php colocando as credenciais de acesso ao banco de dados que voc criou.
-
9Configurando o banco
# mysql -u root -p
mysql> show databases;
mysql> create database loja;mysql> use loja
2. Acesse o MySQL:
3. Verifique se voc no tem o database 'loja' criado:
4. Crie o database loja e selecione para uso:
mysql> create user 'loja'@'localhost' identified by '123456';
5. Crie um usurio 'loja' para acessar o banco de dados:
mysql> grant all on loja.* to loja;
6. Conceda permisso de acesso a todas as tabelas do banco 'loja':
-
10
Configurando o banco7. Crie as tabelas de acordo com o arquivo banco.sql:mysql> CREATE TABLE `livros`(
`id` int(11) NOT NULL AUTO_INCREMENT, `isbn` varchar(20) NOT NULL, `autor` varchar(50) NOT NULL, `titulo` varchar(100) NOT NULL, `preco` float NOT NULL, `sumario` text NOT NULL, PRIMARY KEY (`id`));
mysql> INSERT INTO `livros` (`id`, `isbn`, `autor`, `titulo`, `preco`, `sumario`)
VALUES (1, '0973862149', 'Davey Shafik e Ben Ramsey', 'Zend PHP 5 Certification Study Guide', 35.95, 'The second edition of the popular Zend PHP 5 Certification Study developers who wish to take the exam.');
mysql> INSERT INTO `livros` (`id`, `isbn`, `autor`, `titulo`, `preco`, `sumario`) VALUES (2, '9780973862188', 'Ivo Jansch', 'Guide to Enterprise PHP Development', 39.95, 'Whether you are running a large scale web app in a PHP-based ... for you and your development team.');
mysql> INSERT INTO `livros` (`id`, `isbn`, `autor`, `titulo`, `preco`, `sumario`) VALUES (3, '321321321', 'Z', 'Fulano', 29.9, 'asdasdasdasd');
-
11
Configurando o banco(continuao...)mysql> CREATE TABLE `usuarios` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(25) NOT NULL, `senha` varchar(40) NOT NULL, `admin` tinyint(1) NOT NULL, PRIMARY KEY (`id`));
mysql> INSERT INTO `usuarios` (`id`, `nome`, `senha`, `admin`) VALUES (1, 'admin', '123456', 1);
mysql> INSERT INTO `usuarios` (`id`, `nome`, `senha`, `admin`) VALUES (2, 'fulano', '654321', 0);
-
12
Configurando o banco
mysql> show tables;
mysql> select * from livros;
mysql> select * from usuarios;
8. Testando para ver se est tudo ok:
http://localhost/loja/index.php
9. Acesse o sistema da loja:
-
13
Acessando a loja...
-
14
DiretrizesAgora a hora de pensar no que precisa ou no ter na sua loja:
preciso um painel de controle?Sim, algum deve ter o poder de cadastrar produtos e usurios.Os usurios precisaro estar logados?Se seguirmos a lgica das grandes lojas, o usurio s precisar estar logado quando resolver finalizar a compra. Por outro lado, apenas usurios logados podero acessar o Painel de Controle (backend) da aplicao.Como ser a pgina inicial? Procure no se preocupar neste momento com a aparncia, e sim com a funcionalidade. Procure seguir o modelo do slide anterior. Caso ache interessante, pode colocar uma lista de livros em destaque na pgina inicial.
Devo usar o banco do exemplo para minha loja?De preferncia no. Seria importante se sua aplicao armazenasse as compras realizadas.
-
15
DiretrizesCriarei um sistema de busca? uma boa ideia, mas no necessrio. O foco ser bastante didtico, o que no impede que voc adicione quais funcionalidades achar pertinentes.Devo usar exatamente o banco do exemplo para minha loja?De preferncia no. Seria importante se sua aplicao armazenasse as compras realizadas, alm de emitir uma espcie de recibo.
-
16
Por onde comear?1. Defina a sua base de dados. Ateno ao criar o model Compras, pois ele trabalha diretamente com o Carrinho, que no manipula dados do banco, e sim da sesso do usurio.
LIVRO
idtituloisbnsinopseautorpreco
COMPRAS
idid_livro id_usuario
USUARIO
id nomesenha is_admin
2. Escreva os Controllers, usando parmetros para direcionar qual model e qual template da view ser chamado. Por exemplo:http://localhost/loja/index.php?module=livros&action=listar
O Controller deve pegar os dados do model Livros, mtodo listar(), e o template chamado deve estar numa pasta livros e o arquivo se chamar listar.
-
17
Mos Obra!!!Agora que j sabemos por onde comear, vamos inciar o projeto!Analise o modelo e veja se esta a melhor forma de implementao. Lembre que voc no precisa seguir o modelo se no quiser, mas precisa usar Orientao a Objetos + MVC.
Fique vontade para utilizar Singleton, PDO, mtodos mgicos e tudo aquilo que vimos em aula.Escolha o banco de dados de sua preferncia.Acesse as lojas virtuais citadas para ter uma idia melhor de como elas funcionam.O monitor e o instrutor estararo disponveis em private para dvidas individuais.
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17