bogart / router
此包已被废弃,不再维护。未建议替代包。
PHP 5.3 的简单 RESTful 路由器
dev-master
2013-03-24 13:19 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2019-09-09 09:29:02 UTC
README
Bogart 是一个简单的 RESTful PHP 库,语法基于 Ruby 的 Sinatra,因此 Bogart 以同是“硬汉”的 Humpfrey Bogart 命名。Bogart 旨在与 PHP 匿名函数一起使用,因此需要 PHP 版本 5.3.0 或更高版本。
安装
下载库,包含 bogart 文件并创建一个新的类实例。
require 'bogart.php';
$bogart = new Bogart();
您需要为项目创建一个 .htaccess 文件,内容如下。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L]
用法
安装库后,您只需设置路由并调用响应函数。
$bogart->get('/',function(){
echo 'Hello, World!';
});
$bogart->response();
Bogart 使用 4 种 HTTP 方法进行 CRUD 操作。
$bogart->get('/',function(){
echo 'List all items';
});
$bogart->post('/',function(){
echo 'Create a new item';
});
$bogart->put('/',function(){
echo 'Update an item';
});
$bogart->delete('/',function(){
echo 'Delete an item';
});
Put 和 Delete 实际上是带有隐藏表单 _method 元素的 POST 请求。
<input type="hidden" name="_method" value="PUT" />
通配符
您可以使用通配符接收变量(如 :num 和 :alpha),然后这些变量将作为参数传递给函数。
$bogart->get('/item/(:num)', function($id){
echo 'Item id: ' . $id;
});
$bogart->get('/item/(:alpha)', function($name){
echo 'Item name: ' . $name;
});