PHPackages                             scalpel/api-engin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. scalpel/api-engin

ActiveLibrary

scalpel/api-engin
=================

A simple http api server base on php-fpm

06PHP

Since Apr 24Pushed 7y ago1 watchersCompare

[ Source](https://github.com/nangongxixi/api-engine)[ Packagist](https://packagist.org/packages/scalpel/api-engin)[ RSS](/packages/scalpel-api-engin/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

概述
==

[](#概述)

一个简单的开发api应用组件, 真的非常非常简单, 核心执行流程20行代码

```
# 安装
composer require scalpel/api-engine

```

特性
--

[](#特性)

1. api对象编写简单, 只需要实现 ::handle()方法
2. api多版本支持, 通过请求参数apiVersion设定api版本号
3. 集成简单灵活的授权验证
4. 灵活的api class加载器, 逐层向上查询, ns1.ns2.ns3, 方便api扩展
5. 灵活响应错误, 顶层拦截异常处理
6. 多种请求格式支持, GET/POST/JSON
7. MockData支持
8. 多种编码支持 GKB/utf8/其它, 默认utf8
9. 简单api文档及测试集成
10. 完善的请求及响应日志

执行流程
----

[](#执行流程)

1. 初始化app, 设置log, apiNs, mock data path, AccessManager
2. 运行app::run(), 开始接收请求
3. 初始化请求的api, request(json请求来源php://input)
4. 通过api加载器创建响应对象(实现::handle方法), 并初始化 api::init($req)
5. 验证授权, 基于app::AccessManager 与 $class::authentication()
6. 调用api::handle(request)返回数据

Example
-------

[](#example)

api入口程序

```
# 入口程序
# index.php
