pixaye / chiven
一个简单的库,允许您快速、简单、灵活地构建RESTful API
dev-master
2019-12-29 08:28 UTC
Requires
- php: ^7.1
- ext-json: *
Requires (Dev)
- ext-xdebug: *
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-09-29 05:35:41 UTC
README
一个简单的库,允许您快速、简单、灵活地构建RESTful API
安装
通过composer安装
composer require pixaye/chiven
用法
为了开始使用Chiven的功能,您应该尽可能早地初始化其Request类(例如,您可以在index.php中初始化它)
从全局变量初始化
$request = new \Chiven\Http\Request(); $request->fromGlobals();
从自定义变量初始化
$request = new \Chiven\Http\Request(); $files = array( 'file' => array ( 'tmp_name' => '/tmp/df23fr32, 'name' => 'file.jpg', 'type' => 'image/jpeg', 'size' => 335057, 'error' => 0, ) ); $headers = array( 'X-Test-Header: 1', 'X-Test-Header: 2', ); $get = array( 'key' => 'value' ); $post = array( 'key' => 'value' ); $request->initialize($files, $get, $post, $headers)
Chiven允许您以面向对象的方式处理文件和头信息。它为它们构建对象并将它们放入仓库:FileRepository 和 HeaderRepository
您可以通过调用 $request->getFiles() 和 $request->getHeaders() 来获取它们
$filesRepository = $request->getFiles(); $testFile = $filesRepository->findBy('name', 'test');
$headersRepository = $request->getHeaders(); $testHeader = $filesRepository->findBy('name', 'X-Test-Header');
这两个仓库都有方法
- findBy($criteria, $value)
- findLast()
- findFirst()
- findAll()
- insert(Insertable $object)
- remove($criteria, $value)
- set(array $objects)
为了让Chiven正确处理请求并以所需格式显示结果,存在一些 格式类。目前,只有JSON格式可用。
$request = new \Chiven\Http\Request(); $request->fromGlobals(); (new \Chiven\Bootstrap())->setFormat(new \Chiven\Format\Json()); //Request handling... //Chiven response which returned by any script/controller/etc... $response = new \Chiven\Http\Response\Response(); echo $chiven->getFormat()->responseDecorator($response);
这就是Chiven的工作方式,您可以使用上面的示例并开始使用Chiven创建您的API。