carlosrivera/nano-router

快速简易的PHP路由器,用于测试。

v0.1.2 2020-11-05 13:35 UTC

This package is auto-updated.

Last update: 2024-09-11 19:15:23 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License codecov

这是一个简单的路由器,用于在零配置的场景下快速简易地测试PHP(主要API在其他平台上开发),不打算用作生产或复杂框架,而是一种在无配置场景下测试简单功能的方法。

安装

Composer

您可以使用composer安装nano框架

composer require carlosrivera/nano-router

如何使用

// Load and create the router
include 'vendor/autoload.php';

use \Nano\Router\Router;

$router = new Router();

// Add some routers, it support static and dynamic ones
$router->any('/', function() {
    echo "from index";
});

// For dynamic routes you can use regex or wildcards enclosed by <>
$router->get('/dynamic/<slug>/<id>', function($slug, $id) {
    echo "from dynamic with args: { slug: " . $slug . ", id: ". $id . "}";
});

// finally, just process the current route
$router->dispatch();

钩子

您还可以在处理实际调用之前添加钩子闭包,例如验证会话或根据请求进行翻译。

$router->hooks->beforeRequest->add(function() {
	echo "before request firts hook \n";
});

$router->hooks->beforeRequest->add(function() {
	echo "before request second hook \n";
});

$router->hooks->afterRequest->add(function() {
	echo "after request hook \n";
});

美观的URL

这个库的主要目的是能够路由到美观的URL,为此,您可以将所有请求重定向到您的主文件,或者在每个脚本名称后编写路径 localhost/index.php/myroute/path

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L,QSA]

MIT许可证

版权(c)2015

特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的人免费权利,在不限制包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不包括任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,由此软件或其使用或其他方式产生、产生于或与软件或其使用或其他方式有关。