lukevear / tbone
该软件包已被废弃,不再维护。未建议替代软件包。
一个极快的微型 PHP 路由器
2.0.3
2016-01-20 02:53 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ~4.8
- satooshi/php-coveralls: 0.7.*
This package is not auto-updated.
Last update: 2020-08-16 11:36:36 UTC
README
一个非常简单,非常快的 PHP 路由器。
- 极其容易使用
- 支持 OPTIONS、HEAD、GET、POST、PUT、PATCH 和 DELETE 请求
- 简单的错误处理事件系统
注意:TBone 不支持路由参数(例如 /customers/{id})
何时使用 TBone
TBone 旨在用于非常简单、相对静态的 PHP 应用程序,其中您的应用程序逻辑可以位于一组闭包中。如果您尝试将 TBone 用于超出简单站点的任何内容,您可能会遇到麻烦。如果您在寻找更令人印象深刻的东西,我建议使用 nikic/FastRoute。
安装
composer require lukevear/tbone
激活路由器
您可以在项目的任何适当位置使用 TBone,但最常用的用法是在文档目录中的 index.php 文件中。如果从 index.php 文件运行,您应该有一个类似于以下内容的 .htaccess 文件。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
基本示例
use TBone\TBone; $router = new TBone; // Add a GET route $router->get('/', function() { echo 'Welcome to my homepage'; }); // Add a POST route $router->post('/contact-us', function() { echo 'Thanks for your submission'; }); // Run the router $router->dispatch();
事件系统
TBone 的事件系统旨在为您提供一种处理路由相关事件的机制。TBone 支持 ROUTE_DISPATCH_REQUESTED
(当调用 dispatch() 时触发),ROUTE_NOT_FOUND
(当无法匹配路由时触发)和 ROUTE_DISPATCHED
(当路由匹配且回调已运行时触发)。
当事件被触发时,指定的回调将被运行。
use TBone\TBone; use TBone\TBoneEvent; $router = new TBone; // Add a GET route $router->get('/', function() { echo 'Welcome to my homepage'; }); // Register our 404 page $router->addHandler(TBoneEvent::ROUTE_NOT_FOUND, function() { http_response_code(404); echo 'Sorry, that page doesn\'t exist!'; }); // Run the router $router->dispatch();