helllomatt / aspen
简单的PHP API框架
1.1
2017-09-18 19:00 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is not auto-updated.
Last update: 2024-09-28 20:35:44 UTC
README
Aspen是一个API管理和路由器。发起一个请求,它将处理请求并将其返回。
安装
composer require helllomatt/aspen
设置
您需要为您的项目创建一个索引文件。这将加载您的配置文件和您想要使用的API端点。
index.php
<?php namespace ASPEN; require './vendor/autoload.php'; // If you're interested in enabling CORS // Config::checkOrigin(Config::getOriginInformation()); Config::load('path/to/config.json'); $manager = new APIManager(); $manager->load([ 'modules/endpoint1', 'modules/endpoint2' ]);
如果您使用Apache,需要一个.htaccess
文件来实现干净的路由。
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?route=$1 [QSA]
如果您使用Nginx,需要修改您的站点配置。
[待办事项]
创建端点
模块、插件、扩展或您如何称呼它们,都是API的独立端点。当您在上述创建的索引文件中定义要加载的模块时,那里的一切都是绝对路径。《code>modules/文件夹只是一个建议,您可以按任何方式组织。
创建modules/
文件夹,然后在其中创建一个sample/
文件夹,完整的路径为[ROOT]/modules/sample/
。
API需要一个必需的文件,名为controller.php
。它执行您认为它执行的操作,控制路由。
controller.php
<?php use ASPEN\API; use ASPEN\Response; $api = new API('Sample'); // API name (not really important) $api->version(1); // API version (important) // API endpoints $api->add((new Endpoint([ 'to' => 'test/' 'method' => 'get' ]))->then(function(Response $r) { $r->add("hello", "world"); $r->success(); })) return $api; // VERY IMPORTANT!
创建API对象,就是这样。然后设置版本。版本在调用端点时很重要。版本被查看。(例如localhost/some-api/v1/get
与localhost/some-api/v2/get
不同)
然后您创建端点,或可以访问的位置。
curl https:///aspen/v1/test
[outputs]
{
"status": "success"
"data": {
"hello": "world"
}
}
最后也是最重要的,您需要将API对象从文件中返回出去。这个内部工作原理的例子是$api = (include 'controller.php');
。这允许ASPEN访问API对象并在路由时与之交互。