slim/light

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

轻量级增强 Slim 框架。

0.1.1 2014-02-04 15:09 UTC

This package is not auto-updated.

Last update: 2022-03-28 18:30:19 UTC


README

轻量级增强 Slim 框架 lightly

特性

独立路由

如果你有很多非常长的视图函数需要路由,你的代码可能会显得很杂乱

$app->get('/:id', function() use ($app) {
  // do somethings...
})
->name('get_book_by_id')
->conditions(array('id' => '\d+'));

$app->post('/:id', function() use ($app) {
  // do somethings...
})
->name('edit_book_by_id')
->conditions(array('id' => '\d+'));

$app->delete('/:id', function() use ($app) {
  // do somethings...
})
->name('remove_book_by_id')
->conditions(array('id' => '\d+'));

// Other view functions go on...

被这些尾巴搞糊涂了吗?在 Slim-Light 中,你可以将路由和视图函数注册分离

// Routing
$app->route('get_book_by_id', '/int:id', 'GET');  // Setup all small tails in one place!
$app->route('edit_book_by_id', '/int:id', 'POST');
$app->route('remove_book_by_id', '/int:id', 'DELETE');

// Registering
$app->set('get_book_by_id', function ($id) use ($app) {
  // do somethings...
});
$app->set('edit_book_by_id', function ($id) use ($app) {
  // do somethings...
});
$app->set('remove_book_by_id', function ($id) use ($app) {
  // do somethings...
});

基于类的资源

厌倦了编写RESTful风格的API?资源对象可以减轻你的痛苦

class MovieResource extends \Slim\Light\ResourceController
{
    public function get($id) {
        echo $id;
    }

    public function update($id) {
        echo $id;
    }

    public function remove($id) {
        echo $id;
    }

    public function get_all() {
        echo 'All movies.';
    }

    public function create() {
        echo 'Create a movie.';
    }
}

// Setup all in one line!
$app->resource('movie', '/movie', new MovieResource());

贡献

随时提出问题!期待你的pull request <3

许可

MIT,更多信息请查看 LICENSE