maxcarter / restup
此软件包最新版本(v0.1.1)没有可用的许可信息。
一个可定制的表示状态传输(REST)应用程序编程接口(API),旨在为开发者提供一套快速的工具,以快速构建自己的API。
v0.1.1
2015-10-04 05:56 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-28 17:54:45 UTC
README
一个可定制的表示状态传输(REST)应用程序编程接口(API),旨在为开发者提供一套快速的工具,以快速构建自己的API。
注意:此仓库目前正在建设中。
功能
- 支持基本的CRUD(创建、读取、更新、删除)操作
- 支持HTTP请求GET、POST、PUT和DELETE
- 可以与任何可以发送HTTP请求的东西交互
- 数据以JSON(JavaScript对象表示法)格式返回
- MySQL数据库预设
- 防止MySQL注入
- 与新表的接口就像添加新模型一样简单
- 可定制的控制器以与其他数据库接口
安装
REST-UP可以使用composer安装
composer require maxcarter/restup
或者简单地提取所有文件到您网站目录中的目标位置
git clone https://github.com/maxcarter/REST-UP.git
rsync -r REST-UP/* Path/To/Destination
测试
安装后,您应该在以下位置看到欢迎文本:http://YourDomain.com/PathToAPI
测试API的另一种方法是安装Chrome扩展Postman,然后打开应用,向http://YourDomain.com/PathToAPI
发送HTTP请求。
服务器要求
- PHP v5.6+
- MySQL v5.6+
MySQL模式
示例代码基于以下MySQL表
CREATE TABLE `person` (
`id` int NOT NULL AUTO_INCREMENT,
`Name` varchar(255) DEFAULT NULL,
`City` varchar(255) DEFAULT NULL,
`Email` varchar(255) DEFAULT NULL
);
要将示例数据插入此数据库
INSERT INTO `person` (`Name`, `City`, `Email`) VALUES
('Clark Kent', 'Smallville', 'superman@justiceleague.com');
配置
要配置此REST-API以与您的数据库一起工作,请按照以下步骤操作
- 使用适当的凭据修改
config.php
。 - 创建自己的DTO(数据传输对象)并将其放置在
models
目录中。(有关示例DTO,请参阅models/person.php)
定制
此REST API可以定制以与不同的数据库一起工作。默认预设是MySQL,但是您可以为不同的数据库创建自己的数据库控制器,以实现自定义功能。
要创建自定义控制器,请按照以下步骤操作
- 创建一个新PHP文件以实现Controller类(有关示例,请参阅controllers/mysql.php)
- 确保您的类实现了所需的CRUD函数。
- 修改config.php以包含您的控制器文件名和数据库凭据。
必需函数
/**
* Create a new entry
* @param [object] - The entry to be inserted
* @return [object] - JSON result of insertion
*/
postValue($data);
/**
* Read all entries
* @return [array] - An array of objects
*/
getValues();
/**
* Read a single entry
* @param [int] - The unique id of the entry
* @return [object] - The requested entry
*/
getValue($value);
/**
* Update an entry
* @param [object] - The entry to be updated
* @return [object] - JSON result of update
*/
putValue($data);
/**
* Delete a single entry
* @param [int] - The unique id of the entry
* @return [object] - JSON result of deletion
*/
deleteValue($value);
未来更新
- 实时演示
- HTTP请求文档
- 更多数据库预设