maxcarter/restup

此软件包最新版本(v0.1.1)没有可用的许可信息。

一个可定制的表示状态传输(REST)应用程序编程接口(API),旨在为开发者提供一套快速的工具,以快速构建自己的API。

v0.1.1 2015-10-04 05:56 UTC

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以与您的数据库一起工作,请按照以下步骤操作

  1. 使用适当的凭据修改config.php
  2. 创建自己的DTO(数据传输对象)并将其放置在models目录中。(有关示例DTO,请参阅models/person.php

定制

此REST API可以定制以与不同的数据库一起工作。默认预设是MySQL,但是您可以为不同的数据库创建自己的数据库控制器,以实现自定义功能。

要创建自定义控制器,请按照以下步骤操作

  1. 创建一个新PHP文件以实现Controller类(有关示例,请参阅controllers/mysql.php
  2. 确保您的类实现了所需的CRUD函数。
  3. 修改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请求文档
  • 更多数据库预设