/crud-php

Exemplo de aplicação CRUD usando PHP puro, sem bibliotecas ou frameworks.

Primary LanguagePHPMIT LicenseMIT

CRUD PHP

A ideia do repositório não é advogar pelo não-uso de bibliotecas e frameworks, mas servir como uma prova de conceito e uma forma de instruir melhor os iniciantes na linguagem.

Exemplo de aplicação CRUD usando PHP puro, sem bibliotecas ou frameworks.

O que posso encontrar aqui?

  • O uso do Composer.
  • Separação de: acesso aos dados, apresentação/visualização (HTML) e controle de entrada HTTP (opa, lembrou de um tal de MVC?).
  • O uso do filtro de input de usuário.
  • O uso de prepared statements ao invés de concatenar ou interpolar input de usuário em strings para evitar SQL Injection.
  • O uso de Ajax puro, sem jQuery, com recursos modernos do JavaScript como async/await e fetch.

Como rodar o projeto?

Assumindo que você já tenha o PHP e o Composer instalados, execute os comandos:

composer install
php -S localhost:8000 -t public/

A estrutura de diretórios

  • public/ se refere a pasta pública da aplicação, aquela que será servida pelo web-server, onde ficam seus arquivos estáticos como JavaScript, CSS, imagens, fontes etc.
    • public/index.php é o ponto de entrada da aplicação, é onde tudo começa.
  • src/ é onde fica o código-fonte da nossa aplicação é uma abreviação de source.
    • src/lib.php é onde fica o código que é genérico o suficiente para ser utilizado em outras aplicações, sem modificações, lib é uma abreviação para library (biblioteca).
    • src/dbal.php é onde ficam as funções de acesso ao banco de dados, dbal é uma abreviação para database abstraction layer.
    • src/main.php é onde fica nosso código principal.
  • E finalmente templates/ é onde ficam os arquivos relacionados à renderização de HTML pela aplicação, também é muito conhecido como views.
    • templates/_layout.phtml é a base para os outros templates/views e tem coisas comuns à todo o site/aplicação como header e o footer, assim você não precisa repeti-los em cada página.

Quero contribuir

  • Se você for iniciante, fique à vontade para criar issues dizendo os pontos apresentados que você não entendeu.
  • E se você for experiente, fique à vontade para criar PRs ajustando os pontos que poderiam ficar melhores.
    • (lembrando que a ideia aqui é manter simples e fácil, é ser um exemplo, não um boilerplate pra uma aplicação maior)

Explicando o repositório CRUD PHP

Explicando o repositório CRUD PHP