tiannian/presty

一个简单的RESTful API框架

0.1.2 2017-04-22 12:19 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:58:23 UTC


README

一个基于PHP的轻量RESTful API框架。

安装

如果你使用composer来管理你的项目

composer require tiannian/presty

如果你直接使用它,你可以将其下载到你的项目中或使用git

git clone http://github.com/tiannian/presty

要求

  • php > 5.3 或 php > 7.0

HTTP服务器配置

你需要配置你的http服务器以使用presty。通过配置将所有请求重定向到由你的http服务器配置指定的入口文件。

Nginx

如果你想将所有请求重定向到/api到index.php,请将以下配置添加到location部分。

location /api{
	include fastcgi_params;
	fastcgi_pass 127.0.0.1:9000;
	fastcgi_param index.php;
}

使用

入口文件

使用composer

require 'vendor/autoload.php';

直接使用

require 'path-to-presty/src/app.php';

路径匹配

Presty会根据请求路径依次查找文件树,当文件夹不存在,它会寻找以下划线开头的文件夹。查找到请求路径指向的文件时,presty会按照文件名.请求方法.php匹配文件。当此文件不存在,它会去查找路径中是否存在以下划线开头的文件。

同目录下的文件允许与文件夹同名,但同目录下仅允许出现一个以下划线开头的文件和文件夹。

当出现匹配以下划线开头的文件或文件夹时,presty会将对应的名称与路径记录在请求数组的url_match中。

请求数组

请求数组$resty_request是一个全局变量,在任何一个php文件中均可以访问到。请求数组中包含了每一次请求的信息。

  • url 请求URL
  • url_match 路径与文件名的对应记录
  • query 将查询参数字符串进行解析并以数组的形式返回
  • query_str 查询参数字符串
  • charset Accept-Charset值
  • body 被json_decode解析为数组的请求体
  • method 请求方法
  • headers 请求头数组
  • hostname 请求远程主机名
  • ip 请求远程地址
  • port 请求远程端口

响应数组

响应数组$resty_response是一个全局变量,在任何一个php文件中均可以访问到。响应数组在php文件中可以修改,修改后会根据数组中记录的数据向客户端返回数据。

  • status HTTP状态码
  • headers 响应头数组
  • redirect 重定向URL
  • body 将响应体数组解析为JSON字符串发送给客户端

presty

一个基于PHP的轻量RESTful API 框架

安装

如果你使用composer环境的项目

composer require tiannian/presty

如果你希望直接使用,你可以通过git下载框架

git clone http://github.com/tiannian/presty

依赖

  • php > 5.3 或 php > 7.0

HTTP服务器配置

您需要配置您的http服务器以使用presty,通过配置将所有请求重定向至你指定的入口文件。

Nginx

如果你想将所有请求重定向到/到index.php,请将以下配置添加到location部分。

location /{
	include fastcgi_params;
	fastcgi_pass 127.0.0.1:9000;
	fastcgi_param index.php;
}

使用

入口文件

使用composer

require 'vendor/autoload.php'

直接使用

require 'path-to-presty/src/app.php

路径匹配

presty会根据请求路径依次查找文件树,当文件夹不存在,它会寻找以下划线开头的文件夹。查找到请求路径指向的文件时,presty会按照文件名.请求方法.php匹配文件。当此文件不存在,它会去查找路径中是否存在以下划线开头的文件。

同目录下的文件允许与文件夹同名,但同目录下仅允许出现一个以下划线开头的文件和文件夹。

当出现匹配以下划线开头的文件或文件夹时,presty会将对应的名称与路径记录在请求数组的url_match中。

请求数组

请求数组$resty_request是一个全局变量,在任何一个php文件中均可以访问到。请求数组中包含了每一次请求的信息。

  • url 请求路径
  • url_match 路径与文件名的对应记录
  • query 将查询参数字符串进行解析并以数组的形式返回
  • query_str 查询参数字符串
  • charset Accept-Charset值
  • body 被json_decode解析为数组的请求体
  • method 请求方法
  • headers 请求头数组
  • hostname 请求远程主机名
  • ip 请求远程地址
  • port 请求远程端口

响应数组

响应数组$resty_response是一个全局变量,在任何一个php文件中均可以访问到。响应数组在php文件中可以修改,修改后会根据数组中记录的数据向客户端返回数据。

  • status 返回HTTP状态码
  • headers 返回的响应头
  • redirect 此次请求会被重定向至指定URL
  • body 相应体数组,会被解析为JSON字符串发送给客户端