Um micro-framework PHP moderno, feito do zero, sem dependências externas — estilo Laravel/Symfony, mas minimalista e educativo.
Construímos um sistema MVC completo em PHP puro, com:
- ✅ Roteamento amigável (
/user/{name}/{id}) - ✅ Controllers com injeção de dependência
 - ✅ Sistema de Views estilo Plates (sem usar a biblioteca)
 - ✅ Layouts, partials e helper 
insert() - ✅ Helper global 
request()para acessar parâmetros de rota,GETePOST - ✅ Suporte a caracteres UTF-8 em URLs (ex: 
João,María) - ✅ Integração com Bootstrap 5 e Bootstrap Icons
 - ✅ Autoload PSR-4 via Composer
 - ✅ Estrutura organizada e escalável
 
no-name-yet/
├── composer.json
├── public/
│   ├── assets/
│   │   └── css/
│   │       └── styles.css
│   └── index.php          ← Ponto de entrada (front controller)
├── src/
│   ├── app/
│   │   ├── Controllers/
│   │   │   └── HomeController.php
│   │   └── Views/
│   │       ├── pages/
│   │       │   ├── home.php
│   │       │   ├── about.php
│   │       │   └── user-profile.php
│   │       ├── partials/
│   │       │   ├── header.php
│   │       │   └── footer.php
│   │       └── templates/
│   │           └── layout.php
│   └── core/
│       ├── Router.php
│       ├── View.php
│       ├── BaseController.php
│       ├── Request.php
│       └── helpers.php    ← insert(), request()
└── vendor/                ← Gerado pelo Composer
composer installphp -S localhost:8000 -t publicAcesse: 👉 http://localhost:8000
// Em public/index.php
$router->get('/', HomeController::class, 'index');
$router->get('/about', HomeController::class, 'about');
$router->get('/user/{name}/{id}/{avatar}', HomeController::class, 'showUser');
$router->post('/contact', HomeController::class, 'contact');Teste no navegador:
http://localhost:8000/http://localhost:8000/abouthttp://localhost:8000/user/João/123/star-fill?page=2&theme=dark
- Adicione no 
public/index.php: 
$router->get('/produto/{id}', ProdutoController::class, 'detalhe');- Crie o controller:
 
<?php
namespace My\App\Controllers;
use My\Core\BaseController;
class ProdutoController extends BaseController
{
    public function detalhe()
    {
        $id = request()->params()->id;
        $categoria = request()->get()->categoria ?? 'todos';
        $this->display('pages.produto', [
            'title' => "Produto #{$id}",
            'id' => $id,
            'categoria' => $categoria,
        ]);
    }
}- Crie a view em 
src/app/Views/pages/produto.php: 
<h1>Produto ID: <?= $id ?></h1>
<p>Categoria: <?= $categoria ?></p>
<?php insert('footer'); ?>$this->display('pages.home', [
    'title' => 'Página Inicial',
    'message' => 'Bem-vindo!'
]);<?php insert('header'); ?>
<?php insert('sidebar', ['items' => $menu]); ?>Os partials ficam em
src/app/Views/partials/
O layout (templates/layout.php) envolve todas as páginas e injeta $content.
Use o helper global request() para acessar:
$name = request()->params()->name;$page = request()->get()->page; // ?page=2$email = request()->post()->email;✅ Tudo decodificado automaticamente (UTF-8, ex:
João,María)
O layout padrão já inclui:
- Bootstrap 5 CSS/JS
 - Bootstrap Icons
 - Fonte personalizada (Poppins)
 
Basta usar classes do Bootstrap e ícones como:
<i class="bi bi-star-fill"></i>
<button class="btn btn-primary">Clique aqui</button>MIT — faça o que quiser com esse código. Ideal para aprendizado, protótipos ou projetos pessoais.
Rogério Soares
📧 rgrsoares@yahoo.com.br
🔗 Inspirado por Laravel, Symfony, e muitas xícaras de café.
- Adicionar sistema de banco de dados (PDO/MySQL)
 - Criar middleware de autenticação
 - Implementar sistema de sessão e flash messages
 - Adicionar suporte a upload de arquivos
 - Criar helper 
url(),asset(),csrf_field() - Sistema de cache de views
 - CLI para gerar controllers/views automaticamente
 
- Faça um fork
 - Crie uma branch (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -am 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
 
✅ PRONTO! Seu projeto agora tem uma documentação clara, profissional e útil — perfeita para você continuar evoluindo ou até compartilhar com outros desenvolvedores.
Se quiser, posso te ajudar a:
- Gerar um 
.gitignore - Criar um script de instalação
 - Dockerizar o projeto
 - Publicar no GitHub com CI/CD
 
É só pedir! 🚀
Boa sorte, e parabéns pelo excelente trabalho até aqui! 💪👨💻