E-Commerce com PHP e MySQL

Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação. Você receberá um email de confirmação. Somente depois de confirmar é que poderei lhe enviar o conteúdo exclusivo por email.

Email inválido.
Blog /Livros /E-Commerce com PHP e MySQL

E-Commerce com PHP e MySQL

Vinícius Thiengo16/06/2015
(2759) (6) (17) (4)
Go-ahead
"Dar o seu melhor neste exato momento vai colocá-lo no melhor lugar possível no momento seguinte."
Oprah Winfrey
Código limpo
Capa do livro Refatorando Para Programas Limpos
TítuloRefatorando Para Programas Limpos
CategoriaEngenharia de Software
AutorVinícius Thiengo
Edição
Ano2017
Capítulos46
Páginas598
Comprar Livro
Conteúdo Exclusivo
Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação.
Email inválido
Capa do livro E-Commerce com PHP e MySQL
Título
E-Commerce com PHP e MySQL
Categoria
PHP
Autor(es)
Larry Ullman
Editora
Novatec
Ano
2014
Edição
Páginas
680

Opa, blz?

Terminada a leitura do livro “E-Commerce com PHP e MySQL” 2ª edição de Larry Ullman, Novatec. O objetivo do livro é levar um developer PHP a construir seu primeiro e-commerce utilizando PHP e MySQL (e JavaScript, HTML e CSS). O autor literalmente mostra todos os passos (exceto CSS, que não faz o leitor perder em nada) para a construção do e-commerce. Algo interessante é que logo nas primeiras páginas do livro, onde se apresenta o autor, tem um trecho em que o autor é chamado de “polêmico”, primeira vez que vi isso em um livro de programação, achei um pouco estranho até começar a parte de codificação dos sites que são construídos com o decorrer do livro.

Antes de continuar sobre o paradigma de programação adotado pelo autor ressalto que não somente os códigos são construídos do zero, mas também a explicação do que é um e-commerce, os números das vendas na Internet e a segurança de um e-commerce são todos assuntos muito bem explicados pelo autor, alias ele tem muito conhecimento e preocupação com o assunto segurança. Algo que notei é que mesmo que muitos dos sistemas de pagamentos não solicitando que o site tenha conexão HTTPS o autor deixa claro que esse tipo de conexão (nível de segurança básico) é o mínimo que devemos colocar em nossos e-commerces, tendo em mente que utilizar essa conexão apenas em páginas que transitam dados críticos (dados de contato, login e cartão de crédito) pode ser uma excelente escolha, pois a conexão HTTPS é mais pesada que a HTTP, isso também explicado pelo autor no livro. As entidades que ele utiliza para validação de dados foram todas novas para mim (filter_var, por exemplo), incluindo uma função de geração de hash (password_hash) para o password indicado pelo usuário do sistema. Outro conjunto de entidades interessante que conheci na leitura do livro foi os fileinfo’s para validação de arquivos enviados no formulário (via superglobal $_FILES), permitindo a validação de arquivos de maneira mais fácil do que utilizando expressões regulares junto com funções de verificação de existência e tamanho de arquivos em disco.

Um dos pontos fortes do livro é que o autor busca sempre que possível utilizar uma função nativa do PHP para resolver algum problema de lógica encontrado no desenvolvimento dos sites de exemplo, evitando loops e if..else desnecessários. Outra parte interessante é que no primeiro exemplo de e-commerce o autor utiliza o Bootstrap Twitter para construir o layout, mostrando que realmente é muito vantajoso utilizar essa lib para construção rápida de layouts atuais e responsivos. E o ponto alto do livro é a explicação sobre o PCI-DSS (Payment Card Industry Data Security Standard) que é um conjunto de regras que devem ser seguidas pelos e-commerces que processam dados de cartões de crédito, regras que visam garantir o tratamento seguro e adequado desses dados. O autor deixa claro que para podermos trabalhar com dados críticos de pagamento (dados de cartão de crédito) no lado servidor de nossos sistemas (somente nesse caso o sistema de e-commerce é considerado um sistema que processa dados de cartão de crédito, quando os dados vão para o lado servidor dele), temos de estar em conformidade com os padrões mínimos do PCI-DSS e que além de vários problemas que podemos ter devido a não adoção das regras do PCI-DSS em nossos sistemas o principal deles é o “boicote” das empresas de cartão de crédito ao e-commerce, ou seja, se entrar compra dentro de seu site e ele estiver com problemas na adoção das normas do PCI-DSS as empresas de cartões de crédito podem começar a negar as compras vindas de seu e-commerce, ai sim a casa cai, pois se não vende com cartão de crédito fica difícil manter o e-commerce. O autor apresenta algumas leis nacionais (Estado Unidos, pois ele é de lá) e internacionais, no big deal.

Porém "nem tudo são flores", o autor tem uma característica que é comum em developers PHP, programar sem padrão e sem orientação a objetos, mais precisamente: misturar HTML, PHP, JavaScript e MySQL no mesmo script. Nos scripts do livro não há separação de área de dados, área de lógica e área de visualização e pelo que se lê o autor realmente trabalha dessa forma nos scripts dele, pois se me lembro bem o autor diz no livro que não vê tanta importância em escolher  adotar o paradigma de desenvolvimento procedural (o utilizado no livro) ou o paradigma orientado a objetos. Em minha opinião e experiência, isso pode ser um grande erro adotar o desenvolvimento procedural em sistemas que você visa o crescimento consequentemente a manutenção, o paradigma procedural com um tempo vai ser uma bela de uma dor de cabeça, por experiência própria sei disso. Ainda na faculdade fui estagiar em uma empresa que precisava apresentar junto a uma entidade física uma entidade de software remota (sistema Web) para controlar / apresentar os dados enviados por essa entidade física, tinha pouco tempo. Fiz o sistema bem rápido e utilizando o paradigma de desenvolvimento procedural, o sistema foi apresentado e depois do evento, continuado, ainda procedural. É notável a dificuldade de atualização ou inserção de funcionalidades no sistema a partir que ele está crescendo e o código também, mesmo com comentários tentando ajudar no entendimento do código, pois estão esses misturados com PHP, MySQL, variáveis heredoc com HTML sendo o conteúdo… e por ai vai. Por um bom tempo achei que somente o script rodando como solicitado já era mais que o suficiente, que um único e grande arquivo com todas as funções do sistema era bem melhor que uma série de arquivos de classes PHP, até o dia que somente por teste criei um sistema todo com orientação a objetos no lado servidor, MVC (Model-View-Controller), levou muito mais tempo, pois na época não utilizava IDE e sim o Notepad++, e guess what? A diferença em manter o projeto é grande, alias é bem mais fácil, quando for adicionar ou atualizar alguma funcionalidade, dependendo do modelo de lógica nas classes que você adotou a alteração ou inserção da funcionalidade é em menos de um minuto, apenas altere o código do método da classe. Trabalhando também legal com constantes nas classes, quando for necessária a alteração de algum caminho absoluto é em questão de segundos e já é refletido em todo o sistema. A desvantagem é a demora na construção do sistema, porém se você estiver com um IDE essa desvantagem é irrelevante. Hoje utilizo o PHPStorm (é pago, mas vale o custo / beneficio) e realmente é uma baita IDE, tive alguns problemas com a versão do Java que estava utilizando no Yosemite, mas depois consegui ajustar. Se você é um evangelista do paradigma procedural no desenvolvimento PHP, recomendo que construa um único sistema todo orientado a objetos, somente para testes, tente evoluir o sistema e realmente ver se é fácil ou não a evolução do sistema. Um outro ponto que pode ser observado na programação orientada a objetos no PHP é a utilização mais elevada da memória do servidor, isso pode ocorrer se na utilização de objetos o seu script acabar instanciando uma série de classes que não serão utilizadas, instanciou as mesma somente por segurança caso precise, dependendo da quantidade de conexões em seu Servidor esse pode ser um grande problema, porém ainda não vi isso acontecer, é somente algo que quando migramos do procedural para o orientado a objetos notamos, não se prenda a isso para não desenvolver orientado a objetos em PHP, comentei somente se você também se deparar com essa questão no momento da migração.

Já estou migrando meus scripts front-end (JavaScript / jQuery) para adotarem a orientação objeto também e já é notável a melhora no momento de codificar.

O livro finaliza com a melhoria dos dois sistemas implementados, até mesmo colocando scripts Ajax para evitar o carregamento de página e a maior sobrecarga em cima do Servidor. Mesmo com a problemática da não adoção do paradigma de orientação a objetos no desenvolvimento dos sistemas o livro ainda vale muito o custo beneficio se você está iniciando em e-commerces com PHP e MySQL, tendo em vista ainda os dois belos apêndices mostrando com utilizar as plataformas brasileiras de pagamento, Moip e PagSeguro. Das plataformas de pagamentos utilizadas durante o livro, somente o PayPal tem pagamentos em reais (R$), mas mesmo assim a parte do Authorize.net vale a pena acompanhar, mesmo pela lógica utilizada para cobrança, pois pode ser um caminho adotado por você, porém com uma plataforma que aceita pagamentos em reais. Então é isso, vou de quatro estrelas.

Vlw

Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação.
Email inválido

Relacionado

Efficient Android ThreadingEfficient Android ThreadingLivros
O Jeito Zuckerberg de Fazer NegóciosO Jeito Zuckerberg de Fazer NegóciosLivros
Geração de ValorGeração de ValorLivros
StartStartLivros

Compartilhar

Comentários Facebook (3)

Comentários Blog (3)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
20/06/2015
Parabéns pelos trabalhos aqui do blog, é muito legal e humano de sua parte compartilhar o que sabes!
Eu sempre falo quem ensina é quem mais aprende e também é quem mais é recompensado pois é visto por quem realmente tem necessidades e urgência por tais conhecimentos e habilidades.
Suce$$o.
Adelson Rescarolli
Responder
Adelson Rescarolli (3) (0)
20/06/2015
Thiengo mais uma vez parabém pelo trabalho!
Este livro será minha próxima aquisição!
Sem duvidas, vai valer apena!
Esperava muito encontrar algo assim.
Responder
Vinícius Thiengo (5) (0)
21/06/2015
Vlw o apoio Adelson. O livro é bom mesmo. Estou lendo agora o "PHP Moderno", e está sendo mt bom. Features que eu ainda não conhecia. Abraço
Responder