php-resta / skeleton
resta php api 全功能框架
Requires
- ext-curl: *
- ext-dom: *
- ext-json: *
- restapix/resta: dev-master
- zendframework/zend-crypt: ^3.3
Requires (Dev)
- nunomaduro/collision: ^3.0
This package is not auto-updated.
Last update: 2024-09-18 15:15:38 UTC
README
Resta API 结构
使用 PHP 开发全功能 API 从未如此愉悦.. 我们这样宣称。你一定会爱上这种结构。口号: 如果机器可以自己生成你写的代码,那就不要写了。 如果你想成为 resta 核心的贡献者,可以联系我。我们需要一个更稳定的内核。Resta API 为你的应用程序提供了理想的架构,并让你在编写代码时感到极大的愉悦。
开发仍在进行中。代码文档部分将很快以测试版的形式提供。https://github.com/php-resta/skeleton
Resta 有哪些功能?
- 非常强大的控制台生成结构
- 为每个 API 端点提供发布的文档。
- 支持组件完整性
- 卓越的舒适支持
- 易于快速管理。
- 可选 Eloquent 或 Doctrine
- 出色的模型迁移关系
- 非常稳定的异常管理
- 可管理的版本胶囊
- IDE 友好的注解系统
- 支持多种项目管理
- 可互换的核心结构
Resta 快速入门
如果你想快速开始使用 resta,请看看这份简短的文档。你需要首先安装它,就像任何框架或包一样。我们需要一个 composer 安装程序来安装 resta API。如果你没有 composer 安装程序,请点击这里。
如何安装 resta?
$ composer create-project php-resta/skeleton company_name dev-master
公司名称: 你将安装 resta API 的目录通常是你公司名称或项目有效的组名。因此,你的 API 项目将在这个通用目录中。
你的 resta 骨架结构现在已准备好。
$ cd company_name
你可以使用终端命令进入项目的根目录。
创建你的第一个项目。
现在是我们创建项目的时候了。你的项目将创建在 src/app 目录中。让我们使用下面的命令创建一个名为 demo 的项目。
$ php api project create demo
如果你得到以下类似的响应,哦!太棒了。你现在有一个名为 demo 的新项目了。
$ > Application called as "Demo" has been successfully created in the /path/company_name/src/app/Demo/
你的项目位于名为 src/app/Demo 的目录中。下面你可以看到项目的结构。
Demo/
|
|- Api/
| |- V1/
| |- Config/
| |- App.php
| |- Authenticate.php
| |- AutoServices.php
| |- Cache.php
| |- Database.php
| |- Hateoas.php
| |- Redis.php
| |- Slack.php
| |- Middleware/
| |- Authenticate.php
| |- ClientApiToken.php
| |- RateLimit.php
| |- SetClientTimezone.php
| |- TrustedProxies.php
| |- ServiceAnnotationsManager.php
| |- ServiceEventDispatcherManager.php
| |- ServiceLogManager.php
| |- ServiceMiddlewareManager.php
|
|- Kernel/
| |- Node/
| |- index.html
| |- Providers/
| |- AppServiceProvider.php
| |- ConsoleEventServiceProvider.php
| |- RouteServiceProvider.php
| |- Stub/
| |- index.html
| |- Kernel.php
| |- Version.php
|
|- Storage/
| |- Language
| |- Log
| |- Resource
| |- index.html
|
|- Tests/
| |- index.html
|
|- Webservice/
| |- index.html
|
|- .gitignore
|- composer.json
|- README.md
这个项目结构是默认由每个项目命令创建的。你可以在文档中找到如何自定义此结构的详细信息。由于本节是快速入门,我们不会在这里写这些目录结构的作用。我们只是展示如何快速到达你的端点。
使用浏览器访问你的端点。
https:///company_name/public/demo
现在打开你的浏览器,通过 localhost 或 IP 地址输入上面的地址。如前所述,创建 resta 骨架仓库结构所在的目录将是你的公司名称。
{
"meta": {
"success": false,
"status": 401,
"illuminator": null
},
"resource": {
"errorMessage": "No Endpoint"
}
}
恭喜!你看到了第一个异常输出 :). 不要担心,你还没有做任何事情。
创建你的第一个控制器结构。
$ php api controller create demo controller:users
然后让我们创建我们的第一个端点。尝试使用上面的命令创建你的第一个控制器。
$ > Controller called as "Users" has been successfully created in the /path/company_name/src/app/Demo/Api/V1/Controllers
太棒了!你的第一个控制器已经成功创建。现在你可以通过查看 V1 目录看到创建的控制器目录。本节中我们不会描述该目录的结构。你可以在我们的文档中找到详细的信息。
https:///company_name/public/demo/users
https:///company_name/public/demo/v1/users //the same as the above request.
现在再次打开您的浏览器,将您指定的demo URL字符串更改为demo/users,并发送请求。
{
"meta": {
"success": true,
"status": 200,
"illuminator": null
},
"resource": {
"endpoint": "Users"
}
}
太棒了!我们现在得到了第一个HTTP 200输出。默认情况下,系统会生成JSON。您可以在我们的文档中找到如何更改它的方法。这个输出被称为“users”端点,在“Users”目录中有一个名为UsersController的类。
<?php
namespace App\Demo\Api\V1\Controllers\Users;
class UsersController extends App
{
/**
* #define: get Users
*
* @return mixed|array
*/
public function index()
{
return [
'endpoint'=>'Users'
];
}
}
您喜欢它吗?如果是这样,请继续阅读我们的文档。我们希望您有一个愉快的RESTful API。随着您阅读更多文档,我们可以从现在开始说您会认为RESTful API非常完美。因为RESTful API拥有许多美妙的功能。
安全漏洞
如果您在Resta中发现安全漏洞,请通过Ali Gurbuz发送电子邮件。所有安全漏洞都将得到及时处理。
许可协议
Resta API结构是开源软件,许可协议为MIT许可协议。