bogart/router

此包已被废弃,不再维护。未建议替代包。

PHP 5.3 的简单 RESTful 路由器

dev-master 2013-03-24 13:19 UTC

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