mugomes/miphantroute 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mugomes/miphantroute

最新稳定版本:3.0.0

Composer 安装命令:

composer require mugomes/miphantroute

包简介

Biblioteca para trabalhar com rotas de uma forma mais fácil.

README 文档

README

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.

✨ Características

  • 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

📦 Instalação

Via Composer

composer require mugomes/miphantroute

Manual

Copie o arquivo MiPhantRoute.php para seu projeto e faça a inclusão via autoloader ou require.

🚀 Uso básico

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';
});

🌐 Funcionamento da URL

Para uma URL como:

/blog/post/123

A biblioteca gera internamente:

[
  '/blog/post/123',
  ['blog', 'post', '123']
]

🧠 Roteamento com Regex

O método getPart() aceita expressões regulares completas, permitindo capturar parâmetros da URL automaticamente.

Exemplo simples

$route->getPart('/blog', function () {
    echo 'Página do blog';
});

📌 Captura de parâmetros

$route->getPart('/blog/post/([0-9]+)', function ($id) {
    echo "Post ID: {$id}";
});

URL acessada:

/blog/post/42

Resultado:

Post ID: 42

📌 Múltiplos parâmetros

$route->getPart('/user/([a-z]+)/([0-9]+)', function ($username, $id) {
    echo "Usuário: {$username} | ID: {$id}";
});

URL:

/user/joao/10

📖 Métodos auxiliares

getArrayURLs(): array

$route->getArrayURLs();
// ['blog', 'post', '123']

getFullURL(): string

$route->getFullURL();
// blog/post/123

getURL(int $index): string

$route->getURL(0); // blog
$route->getURL(1); // post
$route->getURL(2); // 123

getFirstURL(): string

$route->getFirstURL(); // blog

getPenultimateURL(): string

$route->getPenultimateURL(); // post

getLastURL(): string

$route->getLastURL(); // 123

❌ Tratamento de erro 404

Se nenhuma rota corresponder, o callback definido em getError() será executado:

$route->getError(function () {
    http_response_code(404);
    echo 'Página não encontrada';
});

👤 Autor

Murilo Gomes Julio

🔗 https://mugomes.github.io

📺 https://youtube.com/@mugomesoficial

📜 License

Copyright (c) 2025-2026 Murilo Gomes Julio

Licensed under the MIT.

All contributions to the MiPhantRoute are subject to this license.

统计信息

  • 总下载量: 8
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-28