pixaye/chiven

一个简单的库,允许您快速、简单、灵活地构建RESTful API

dev-master 2019-12-29 08:28 UTC

This package is auto-updated.

Last update: 2024-09-29 05:35:41 UTC


README

codecov GitHub GitHub repo size PHP from Packagist Packagist

Logo

一个简单的库,允许您快速、简单、灵活地构建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允许您以面向对象的方式处理文件和头信息。它为它们构建对象并将它们放入仓库:FileRepositoryHeaderRepository

您可以通过调用 $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。