Skip to content

jonas-amilton/matePHP

Repository files navigation

🧱 matePHP — Framework PHP para APIs REST

Framework minimalista inspirado no Laravel, mas construído em PHP puro, ideal para estudar as bases de migrations, seeders, jobs, workers, controllers, routes e models.


🚀 Opção 1: Rodar com Docker (recomendado)

1. Subir containers

docker compose up -d

Caso veja erro de permissão, rode com sudo docker compose up -d ou adicione seu usuário ao grupo docker:

sudo usermod -aG docker $USER && newgrp docker

2. Acessar phpMyAdmin

Acesse: http://localhost:8989

Credenciais padrão:

Servidor: db
Usuário: root
Senha: root

Crie o banco de dados matephp.


3. Configurar o ambiente

Crie e edite o arquivo .env:

cp .env.example .env

Configure:

DB_DRIVER=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=matephp
DB_USERNAME=root
DB_PASSWORD=root

4. Rodar migrations

Dentro do container PHP:

docker exec -it matephp-php bash
php cli.php migrate
php cli.php seed

5. Testar a API

Acesse no navegador ou via curl:

GET  http://localhost:8001/api/hello

Deve retornar:

{ "message": "Hello, world!" }

🧩 Opção 2: Rodar localmente (sem Docker)

  1. Inicie o MySQL local (XAMPP, Laragon, etc.)
  2. Crie o banco matephp
  3. Edite .env com suas credenciais locais:
    cp .env.example .env
  4. Gere o autoload e rode as migrations:
    composer dump-autoload
    php cli.php migrate
  5. Suba o servidor embutido do PHP:
    php -S localhost:8000 -t public
  6. Teste:
    GET  http://localhost:8000/api/hello
    

⚙️ Opção 3: Rodar com Apache e VirtualHost (ambiente local)

  1. Crie um VirtualHost no Apache apontando para public/:

    <VirtualHost *:80>
        ServerName matephp.local
        DocumentRoot "C:/caminho/para/matePHP/public"
    
        <Directory "C:/caminho/para/matePHP/public">
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
  2. Adicione no arquivo hosts:

    127.0.0.1 matephp.local
    
  3. Reinicie o Apache e acesse: http://matephp.local/api/hello


🧠 Dicas úteis

  • Para reiniciar o ambiente Docker limpo:

    docker compose down -v --remove-orphans
    docker compose up -d --build
  • Para entrar no container PHP:

    docker exec -it matephp-php bash

📁 Estrutura do projeto

matePHP/
│
├── app/                # Controllers e Models
├── framework/          # Core do framework
├── public/             # index.php principal
├── database/
│   ├── migrations/
│   └── seeders/
├── cli.php             # Console kernel (migrate, seed etc.)
├── docker/
│   ├── php/
│   │   └── Dockerfile
│   └── nginx.conf
├── docker-compose.yml
├── composer.json
└── .env.example

Desenvolvido para fins educacionais.
💡 matePHP é um framework didático para entender como o Laravel funciona por dentro.

About

Framework backend em PHP puro, inspirado no Laravel.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published