Desafiando preconceitos no PHP: Criei um "Ambiente Operacional Web" modular de 30MB inspirado na arquitetura de OS reais
Sei bem que, quando a maioria das pessoas pensa em PHP, logo vem à mente frameworks MVC tradicionais (como Laravel/Symfony) ou plataformas monolíticas gigantescas (como o WordPress).
Mas e se mudássemos o ponto de vista? Em vez de enxergar a stack PHP/Linux apenas como um servidor de aplicações comum, decidi tratá-la como um Ambiente Operacional Web.
Nos últimos meses, tenho desenvolvido o Domain System — uma plataforma web leve, radicalmente desacoplada e modular, construída do zero sob os princípios mais rígidos de SOLID e Inversão de Dependência (DIP). O projeto busca inspiração direta na engenharia de Sistemas Operacionais (microkernel, anéis de proteção e isolamento de privilégios) e entrega tudo isso ocupando apenas cerca de 30 MB descompactado.
🧠 O Conceito: Arquitetura de OS aplicada à Web
O Domain System é completamente agnóstico em relação a bancos de dados ou configurações pesadas de ambiente. A lógica dele funciona dividindo os privilégios da aplicação em duas camadas bem claras:
- Ring 0 (SystemApps): É o microkernel central do sistema. Ele gerencia estritamente a infraestrutura base: roteamento dinâmico, persistência atômica, segurança baseada em capacidades (capabilities), telemetria e diagnósticos de contratos. O núcleo central nunca sabe (e nem precisa saber) o que a lógica de negócio do usuário está fazendo.
- Ring 3 (UserPlugins): É onde a aplicação de negócio realmente vive. Os plugins são injetados inteiramente através de Contratos (Interfaces). Eles rodam com privilégios limitados e são incapazes de "sequestrar" ou quebrar as instâncias principais do Ring 0.
🚀 Engenharia e Componentes do Projeto
Para garantir a resiliência e a estabilidade da plataforma, implementei algumas soluções das quais me orgulho bastante:
1. Gatekeeper & Sandboxing (Instalação Segura)
Para evitar que a instalação de extensões de terceiros via arquivos ZIP comprometa o servidor, criei um motor que extrai os uploads em uma zona de quarentena. Ele escaneia o código-fonte em busca de falhas conhecidas (como Path Traversal e Zip-Slip) e bloqueia qualquer tentativa de escalada de privilégios antes mesmo de mover os arquivos para a produção.
2. No-Break Shield & Armazenamento Atômico em JSON
Para erradicar a famosa Tela Branca da Morte (WSOD), o núcleo utiliza um Circuit Breaker inteligente combinado a um motor de armazenamento JSON atômico (usando LOCK_EX + escritas atômicas substituindo arquivos). O sistema conta ainda com diagnósticos de autocorreção de esquemas (SchemaDoctorInterface) e um mecanismo de Snapshot & Rollback em 1 clique direto pelo painel administrativo.
3. Flex Builder FSE (Full Site Editing) com Auto-Reflow
Desenvolvi um motor de layout para o frontend (src/Core/Theme/Parts) onde o editor de blocos e o site publicado compartilham exatamente o mesmo compilador e regras de validação. Ele suporta visibilidade responsiva nativa para 4 resoluções diferentes. Caso um elemento em uma coluna de CSS Grid seja ocultado no mobile, o motor colapsa a coluna e recalcula o grid do template dinamicamente em tempo de execução.
4. Governança e DX na Era do "Vibe Coding" (IA-First)
Minha intenção com essa arquitetura é permitir um desenvolvimento ágil e assistido por ferramentas de IA sem que o projeto se transforme em uma bagunça de código espaguete. O repositório já conta com regras estritas em arquivos .cursorrules, .clinerules e um guia detalhado em AI_CONTRACT_GUIDE.md.
Assistentes de IA (como Claude Code, Cursor ou Cline) lêem essas diretrizes e geram automaticamente plugins para o Ring 3 que respeitam 100% a tipagem estrita e os contratos definidos. Para os humanos, há também um gerador via CLI (php os-cli.php make:plugin <name>).
📊 Estabilidade e Testes
Para garantir que o acoplamento continue zero e que os contratos funcionem perfeitamente a cada alteração, o motor de Hooks (orientado a eventos) e injeções do sistema é blindado por 433 testes automatizados (somando mais de 2.340 asserções) rodando no PHPUnit sob o PHP 8.2+.
🛠️ Stack Técnica
- Linguagem: PHP 8.2+ (Tipagem estrita e aplicação real de DIP)
- Banco de Dados: Agnóstico (Suporte nativo a MySQL/MariaDB e SQLite via PDO, além do Atomic JSON integrado)
- Arquitetura: Microkernel Modular / Clean Architecture
💬 Quero ouvir o feedback de vocês!
Colocar esse projeto de pé tem sido um excelente exercício prático de engenharia de software e design de código limpo dentro do ecossistema moderno do PHP.
Gostaria muito de abrir o debate com a comunidade do TabNews:
- O que vocês acham dessa abordagem de trazer o concept de Ring 0 / Ring 3 de segurança de sistemas operacionais para o contexto de plataformas web?
- Como vocês estão estruturando as regras de arquitetura nos repositórios de vocês para colher os frutos das IAs de código sem deixar que elas quebrem os padrões de design do sistema?
Fiquem à vontade para analisar a documentação, clonar o repositório ou criticar a arquitetura: