carlosrivera / nano-router
快速简易的PHP路由器,用于测试。
v0.1.2
2020-11-05 13:35 UTC
Requires (Dev)
- phpunit/phpunit: 9.0.*
This package is auto-updated.
Last update: 2024-09-11 19:15:23 UTC
README
这是一个简单的路由器,用于在零配置的场景下快速简易地测试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
特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的人免费权利,在不限制包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不包括任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,由此软件或其使用或其他方式产生、产生于或与软件或其使用或其他方式有关。