php-resta/skeleton

resta php api 全功能框架

v1.0.0 2019-04-20 10:08 UTC

This package is not auto-updated.

Last update: 2024-09-18 15:15:38 UTC


README

Build Status Total Downloads License Latest Unstable Version

Resta API 结构

使用 PHP 开发全功能 API 从未如此愉悦.. 我们这样宣称。你一定会爱上这种结构。口号: 如果机器可以自己生成你写的代码,那就不要写了。 如果你想成为 resta 核心的贡献者,可以联系我。我们需要一个更稳定的内核。Resta API 为你的应用程序提供了理想的架构,并让你在编写代码时感到极大的愉悦。

开发仍在进行中。代码文档部分将很快以测试版的形式提供。https://github.com/php-resta/skeleton

Resta 有哪些功能?

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许可协议