smalldb / smalldb-rest
Smalldb的简单REST API
v0.5
2016-07-25 23:21 UTC
Requires
- smalldb/flupdo: *
- smalldb/libsmalldb: >=0.4
Requires (Dev)
- smalldb/doc-tools: dev-master
README
Smalldb REST API的简单实现。
要求
- PHP 5.5+
- libsmalldb
安装
- 使用
composer install
安装所有库。 - 根据示例创建
api-v1.php
和api-v1-diagram.php
。 - 在
statemachine
目录中创建状态机定义 -- 详细信息请参阅libsmalldb文档。 - 在生产环境中使用之前,将
auth.class
选项更改为更严格的设置。 --config.json.php
文件包含允许一切选项。默认情况下使用CookieAuth
类,但这需要一些配置。
配置
配置从三个JSON文件中加载。之后会覆盖前面的配置(使用array_replace_recursive
函数)。
- Smalldb-REST目录中的
config.json.php
用于加载默认值。 - 项目根目录中的
config.app.json.php
用于加载应用程序特定的选项。此文件应受版本控制,不要在此处放置敏感信息。 - 项目根目录中的
config.local.json.php
用于加载安装特定的选项。此文件不应受版本控制(将其放入.gitignore
),它旨在包含敏感信息。
为了保持配置文件的向前兼容性,不要在应用程序中使用整个默认配置文件。仅设置更改的选项。
API使用
读取状态机的状态(机器ID = "blogpost", 1
)
HTTP GET /api-v1.php/blogpost/1
读取状态机的转换信息(转换 edit
)
HTTP GET /api-v1.php/blogpost/1!edit
调用状态机的转换(转换 edit
,参数通过 $_POST['args']
传递)
HTTP POST /api-v1.php/blogpost/1!edit
Content-Type: application/x-www-form-urlencoded
args[0][title]=Some%20title&args[1][text]=Lorem%20ipsum
列出给定类型的所有状态机
HTTP GET /api-v1.php/?type=blogpost
状态图渲染器
REST API的第二个功能是状态图渲染器。要检索blogpost
状态机的状态图,请使用以下HTTP请求
HTTP GET /api-v1-diagram.php?machine=blogpost&format=png
这意味着您可以简单地将其HTML放入您的应用程序中
<img src="api-v1-diagram.php?machine=blogpost&format=png" alt="state diagram">
注意:图使用Graphviz渲染,并使用APC缓存。必须将dot
可执行文件放置在PHP的PATH中。
许可证
Apache 2.0 - 请参阅LICENSE文件