Skip to content
/ crud Public

Exemplo de aplicação CRUD (Create, Read, Update e Delete) utilizando PHP 8.1.2, MySql Server, Apache 2.4, Bootstrap 5.3.0, rodando em VPS LINUX (Ubuntu 22.04.4 LTS).

Notifications You must be signed in to change notification settings

lucioweb/crud

Repository files navigation

CRUD com PHP e MySQL

1 - INTRODUÇÃO

Olá! 😎

CRUD é um exemplo de aplicação com foco apenas nas operações básicas (Create, Read, Update, Delete) realizadas sobre uma base de dados.
Foram utilizadas na aplicação, as seguintes tecnologias para desenvolvimento web: PHP 8.1.2, MySql Server, Apache 2.4 (old but gold) e Bootstrap 5.3.0. A aplicação roda em VPS LINUX (Ubuntu 22.04.4 LTS).
O IDE utilizado foi o PhpStorm (pode ser o VSCode, Notepad++, Sublime Text, Gedit, etc).
O versionador de código escolhido foi o Git Hub.

  • C: Create – Cria um registro
  • R: Read – Lê um registro, ou uma lista de registros.
  • U: Update – Atualiza um registro.
  • D: Delete – Exclui um registro.

2 - DESENVOLVIMENTO

2.1 - TECNOLOGIAS UTILIZADAS

  • Ubuntu ✔️
  • VSCode ✔️
  • Git Hub ✔️
  • PHP ✔️
  • HTML5 ✔️
  • CSS3 ✔️
  • MySQL ✔️
  • Bootstrap ✔️
  • javasript ✔️
  • JQuery ✔️
  • Markdown ✔️
  • PhpStorm ✔

2.2 - TUTORIAL

XAMPP (Apache + MariaDB + PHP + Perl)

Instalação do XAMPP

Dev iniciante deve saber que servidor web rodando em localhost era instalando dessa maneira na década passada.

Brincadeiras à parte, fato é que essas stacks (WAMP, LAMP, XAMPP) são ainda muito utilizadas nos dias atuais.

Se você leitor é desenvolvedor web e desenvolve particularmente com PHP e MySQL, deve em algum momento do seu aprendizado ter lançado mão de pelo menos uma dessas ferramentas (refiro-me aqui às soluções empacotadas), porque é possível e até recomendado que você faça a instalação do seu servidor web, instalando e configurando Apache, Mysql/MySQL Server/MariaDB e PHP separadamente, por questões de realmente saber o que está se passando no submundo da sua máquina.

Essa é apenas uma das mil e uma maneiras de se ter instalado um servidor web local. Atualmente temos soluções modernas, elegantes e simples para servidores web.

Para o projeto CRUD, utilizei um PC antigo e com escassos recursos computacionais. Por imposição de uma série de requisitos, a solução mais viável foi recorrer a uma pilha empacotada como o XAMPP. Para a instalação do pacote em ambiente UNIX, utilizei dicas valiosas de:

Startando o XAMPP 👁️
sudo /opt/lampp/lampp start

Lembre-se de que deve ter atribuído permissão 777 ao diretório htdocs.

sudo chmod 777 htdocs -R

Dentro de /opt/lampp$ (no caso do Ubuntu) execute o comando abaixo para carregar XAMPP em modo GUI.

sudo ./manager-linux-x64.run
GitHub 👁️

Instalando Git no Ubuntu

sudo apt update
sudo apt install git

Verificando a versão do Git

git --version

Configurando o Git

git config --global user.name "lucioweb"
git config --global user.email "lucio.lemos.385@ufrn.edu.br"

Listando as configurações git config --list:

user.name=lucioweb
user.email=lucio.lemos.385@ufrn.edu.br

Clonando o projeto crud para a pasta $ /var/www, raiz do servidor.

luciolemos@dev:/var/www $ sudo git clone https://github.com/lucioweb/crud.git

É possível criar a pasta de destino do clone, acrescentando ao comando acima o nome da pasta crud_php, por exemplo. Lembre-se de que /var/www é diretório do sistema.

luciolemos@dev:/var/www $ sudo git clone https://github.com/lucioweb/crud.git crud_php
MySQL 👁️ O arquivo de conexão `db_conn.php` faz referência a um banco de dados denominado `crud`, lembre-se de criá-lo.
CREATE DATABASE crud;

Script de criação da tabela tbl_user (é como ela é referenciada no arquivo data_table.php).

CREATE TABLE
`tbl_user` (
    `id` int NOT NULL AUTO_INCREMENT,
    `first_name` varchar(50) NOT NULL,
    `last_name` varchar(50) NOT NULL,
    `email` varchar(50) NOT NULL,
    `estado_civil` varchar(20) NOT NULL,
    `cidade` varchar(50) NOT NULL,
    `uf` varchar(50) NOT NULL,
    `cep` varchar(50) NOT NULL,
    `gender` varchar(20) NOT NULL,
    `ts` timestamp NULL DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci

Script PHP de conexão da aplicação com o banco de dados.

<?php
$servername = "localhost";
$username = "luciolemos";
$password = "Dif**************************#";
$dbname = "crud";

$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
    die("Conexão falhou " . mysqli_connect_error());

}

Estrutura do projeto CRUD 👁️

Estrutura gerada com o comando luciolemos@dev:/var/www/crud_php$ tree.

├── README.md
├── cadastrar.php
├── css
│   ├── footer.css
│   └── navbar.css
├── data_table.php
├── db_conn.php
├── editar.php
├── excluir.php
├── includes
│   ├── create.php
│   ├── delete.php
│   └── table.php
├── index.php
├── js
│   └── mask.js
├── pages
│   ├── about.php
│   ├── blog.php
│   ├── contact.php
│   └── gallery.php
├── script.php
├── scripy.sql
├── shareds
│   ├── footer.php
│   └── navbar.php
├── snipets.php
├── video.php
└── videoxampp.php

{
  "name": "lucioweb/crud",
  "description": "CRUD com PHP e MySql",
  "minimum-stability": "stable",
  "license": "proprietary",
  "authors": [
    {
      "name": "Lúcio Flávio Lemos",
      "email": "lucio.lemos.385@ufrn.edu.br",
      "role": "developer",
      "homepage": "https://luciolemos.com.br/"
    }
  ],
  "config": {
    "vendor-dir": "vendor"
  },
  "autoload": {
    "psr-4": {
      "source\\": "source/"
    },
    "files": [
      "source/config.php"
    ]
  },
  "require": {
    "dompdf/dompdf": "3.0.0"
  }
}

About

Exemplo de aplicação CRUD (Create, Read, Update e Delete) utilizando PHP 8.1.2, MySql Server, Apache 2.4, Bootstrap 5.3.0, rodando em VPS LINUX (Ubuntu 22.04.4 LTS).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published