mlboy / macaw
dev-master
2015-02-13 13:28 UTC
Requires
- php: >=5.3.3
This package is not auto-updated.
Last update: 2024-09-24 16:28:24 UTC
README
Macaw是一个简单、开源的PHP路由器。它非常小巧(~150 LOC),快速,且性感。这个类允许你直接将其放入项目中并立即开始使用。
安装
如果你有Composer,只需在项目的composer.json
中将Macaw作为依赖项包含。如果没有,只需下载.ZIP文件并将其解压到你的项目目录中。
require: {
"noahbuscher/macaw": "dev-master"
}
示例
首先,使用
Macaw命名空间
use \NoahBuscher\Macaw\Macaw;
Macaw不是一个对象,所以你可以直接对该类进行操作。以下是一个Hello World示例
Macaw::get('/', function() { echo 'Hello world!'; }); Macaw::dispatch();
Macaw还支持lambda URI,例如
Macaw::get('/(:any)', function($slug) { echo 'The slug is: ' . $slug; }); Macaw::dispatch();
你还可以在Macaw中为HTTP方法发出请求,所以你也可以这样做
Macaw::get('/', function() { echo 'I <3 GET commands!'; }); Macaw::post('/', function() { echo 'I <3 POST commands!'; }); Macaw::dispatch();
其他方式,例如
Macaw::get('/Home/index','home@index'); Macaw::get('/Home/index','home@index','Namespace');
最后,如果没有为特定位置定义路由,你可以让Macaw运行一个自定义回调,如下所示
Macaw::error(function() { echo '404 :: Not Found'; });
如果你没有指定错误回调,Macaw将只输出404
。
为了让服务器知道URI不指向实际文件,你需要使用包含的.htaccess文件。