tiannian / presty
一个简单的RESTful API框架
Requires
- php: ^5.3.3 || ^7.0
- ralouphie/getallheaders: ^2.0
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
请求URLurl_match
路径与文件名的对应记录query
将查询参数字符串进行解析并以数组的形式返回query_str
查询参数字符串charset
Accept-Charset值body
被json_decode解析为数组的请求体method
请求方法headers
请求头数组hostname
请求远程主机名ip
请求远程地址port
请求远程端口
响应数组
响应数组$resty_response
是一个全局变量,在任何一个php文件中均可以访问到。响应数组在php文件中可以修改,修改后会根据数组中记录的数据向客户端返回数据。
status
HTTP状态码headers
响应头数组redirect
重定向URLbody
将响应体数组解析为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字符串发送给客户端