Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Código refatorado usando PDO

Olá.

Estou estudando DEV a pouco tempo aqui nos cursos da Alura. Eu peguei o projeto do curso "PHP e MySQL: Introdução a uma webapp" que é um "blog" simples com página de administração dos artigos e refatorei ele usando os conceitos mostrados no curso de PDO :

PDO, Composer (Autoload), Injeção de Dependência, Static Creation Method, Repositório, Tratamento de erros (Exceptions)

O código está no github: https://github.com/risaltte/PHP-e-MySQL-PDO---BLOG---Alura---Refatorado

Sou novo na área e gostaria de ter um feedback do código, se a forma de aplicar os conceitos está correta.

Eu adicionei um arquivo "error-page.php" para tratar as Exceptions. Não sei se fiz da melhor forma, mas foi o que fiz com os conhecimentos adiquiridos até agora.

A criação do conexão eu fiz um pouco diferente, peguei na documentação do PHP.

Uma duvida, eu não criei uma classe Artigo (Modelo) para tratar os Artigos como Objetos, para esta aplicação não consegui ver necessidade de fazer isso, pois da forma que está atende o que precisa ser feito, eu apenas faço as queries no banco assim como no projeto original. Gostaria de saber se existe algum motivo para criar a Classe artigo, pois aumentaria o código, o deixaria mais complexo e no fim o resultado seria o mesmo. Mas queria saber se mesmo assim existe razão para fazer isso assim como foi mostrado no curso de PDO com a classe "Students", algum motivo que eu não tenha entendido a necessidade.

Eu ia implementar também o controle de transação, mas obeservei que nos métodos do repositório faço apenas um INSERT, UPDATE por vez e não vários de uma vez. Nesse caso de fazer um INSERT/UPDATE por vez quando tem erro o PDO lança uma Exception é necessário ter controle de transação para uma unica alteração por vez?

3 respostas
solução!

Olá, Rafael.

Eu passei o olho rápido no seu index.php e vi que você possui código HTML e PHP misturado.

No curso de MVC eu explico com mais detalhes o porquê disso ser um problema.

Quando a criação de entidades, elas são úteis quando você tem regras de negócio. Em "blogs" como o que você reproduziu, no mundo real, nós nem escrevemos esse tipo de código. Usamos ferramentas prontas como geradores de códigos estáticos (Sculpin, Jigsaw) ou CMSs (Wordpress, Drupal).

:-)

Olá, Vinícius.

Então, eu imaginava que esse código está fora dos padrões de hoje. A idéia que tive foi apenas refatorar para aplicar os conceitos que foram mostrados no curso de PDO. Sou iniciante, não atuo na área ainda, então quiz usar isso como exercício.

Eu vou prosseguir na formação PHP e fazer os cursos que focam na parte web, MVC e nos frameworks.

Obrigado.

Perfeito, Rafael. Foi um ótimo exercício. Parabéns pela iniciativa.

Bons estudos! :-D