palanik/restslim

PHP Slim 的简约 REST 框架。

v0.1.0 2014-10-18 03:48 UTC

This package is auto-updated.

Last update: 2024-09-24 12:47:24 UTC


README

Latest Stable Version License

PHP Slim 的简约 REST 框架 Slim

Slim 是一个 PHP 微型框架,帮助您快速编写简单而强大的 Web 应用程序和 API。

在用 PHP Slim 构建RESTful API时,将焦点从路由转移到资源。

## 安装 您可以通过 composer 安装。将以下内容添加到您的 composer.json 中

{
  "require": {
    "slim/slim": "2.4.*",
    "palanik/restslim": "0.1.*"
  }
}

问候教程

$app = new \Slim\Slim();

// This should obviously go in a datastore
$data = array();
$data["1"] = array("id" => 1,
                "message" => "Hello, World!");
$data["2"] = array("id" => 2,
                "message" => "Good Bye!");


$greetings = new \RestSlim\RestSlim("greetings");

// List
$greetings->list(function() use ($app, $data) {
    $app->response->headers->set('Content-Type', 'application/json');
    $app->response->write(json_encode($data, JSON_NUMERIC_CHECK));
});

// Read
$greetings->get(function($id) use ($app, $data) {
    $app->response->headers->set('Content-Type', 'application/json');
    $app->response->write(json_encode($data[$id], JSON_NUMERIC_CHECK));
});

// Create
$greetings->create(function() use ($app, $data) {
	$request = $app->request();
	$message = json_decode($request->getBody(), true);
	$id = count($data) + 1;
	$message["id"] = $id;
	$data[$id] = $message;
    $app->response->headers->set('Content-Type', 'application/json');
    $app->response->write(json_encode($data, JSON_NUMERIC_CHECK));
})
// Update
$greetings->update(function($id) use ($app, $data) {
	$request = $app->request();
	$message = json_decode($request->getBody(), true);
	$message["id"] = $id;
	$data[$id] = $message;
    $app->response->headers->set('Content-Type', 'application/json');
    $app->response->write(json_encode($data, JSON_NUMERIC_CHECK));
})
// Delete
->delete(function($id) use ($app, $data) {
    $app->response->headers->set('Content-Type', 'application/json');
    $app->response->write(json_encode($data[$id], JSON_NUMERIC_CHECK));
    unset($data[$id]);
});

// Inject into Slim
$greetings->app($app)
            ->run();

Slim 应用程序通过将路由映射到特定 HTTP 请求方法的回调函数来构建。但是,RESTful API 更多的是关于资源及其上的操作,而不是关于路由。RestSlim 将这两者结合起来。它通过简化创建 RESTful 应用程序的过程来增强 Slim。

独立创建面向操作的、RESTful 的资源,然后将其注入到您的 Slim 应用程序中。将多个资源添加到同一个 Slim 应用程序。

尽管您独立创建资源,但 RestSlim 与 Slim 应用程序集成以提供服务。

RestSlim 遵循 Slim 框架的指导原则:简洁胜于简短,常见情况胜于特殊情况。

许可证

MIT