MiPhantRoute é uma biblioteca leve, minimalista e funcional em PHP para roteamento baseado em URL com suporte nativo a Expressões Regulares (Regex).
Ela foi criada para quem deseja controle total, zero dependências e nenhuma abstração excessiva, sendo ideal para todo tipo de projeto.
- Roteamento por URL com Regex
- Captura de parâmetros diretamente via regex
- Paradigma funcional (callbacks)
- Suporte a PHP 8.4+
- Compatível com servidor embutido (
php -S) - Extração de partes da URL
- Tratamento simples de 404
- Zero dependências
- Código pequeno, legível e previsível
composer require mugomes/miphantrouteCopie o arquivo MiPhantRoute.php para seu projeto e faça a inclusão via autoloader ou require.
use MiPhantRoute\MiPhantRoute;
$route = new MiPhantRoute();
$route->getPart('/', function () {
echo 'Página inicial';
});
$route->getPart('/contato', function () {
echo 'Página de contato';
});
$route->getError(function () {
http_response_code(404);
echo '404 - Página não encontrada';
});Para uma URL como:
/blog/post/123
A biblioteca gera internamente:
[
'/blog/post/123',
['blog', 'post', '123']
]O método getPart() aceita expressões regulares completas, permitindo capturar parâmetros da URL automaticamente.
$route->getPart('/blog', function () {
echo 'Página do blog';
});$route->getPart('/blog/post/([0-9]+)', function ($id) {
echo "Post ID: {$id}";
});URL acessada:
/blog/post/42
Resultado:
Post ID: 42
$route->getPart('/user/([a-z]+)/([0-9]+)', function ($username, $id) {
echo "Usuário: {$username} | ID: {$id}";
});URL:
/user/joao/10
$route->getArrayURLs();
// ['blog', 'post', '123']$route->getFullURL();
// blog/post/123$route->getURL(0); // blog
$route->getURL(1); // post
$route->getURL(2); // 123$route->getFirstURL(); // blog$route->getPenultimateURL(); // post$route->getLastURL(); // 123Se nenhuma rota corresponder, o callback definido em getError() será executado:
$route->getError(function () {
http_response_code(404);
echo 'Página não encontrada';
});Murilo Gomes Julio
📺 https://youtube.com/@mugomesoficial
Copyright (c) 2025-2026 Murilo Gomes Julio
Licensed under the MIT.
All contributions to the MiPhantRoute are subject to this license.