mlboy/macaw

性感PHP路由器。

维护者

详细信息

github.com/mlboy/Macaw

源代码

dev-master 2015-02-13 13:28 UTC

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文件。