graphene/graphene

PHP rest 框架

0.3.4 2018-11-17 12:29 UTC

This package is auto-updated.

Last update: 2024-09-16 11:02:58 UTC


README

这个框架允许你用更少的代码行创建面向动作的 REST 服务,如下所示

class HelloWorld extends Action{
	public function run ()
	{
		$this->sendMessage('Hello world');
	}
}

使用 composer 安装 Graphene

Graphene 可以使用 composer 安装

composer require graphene/graphene

安装后,你可以通过以下命令启动你的应用程序

cp ./vendor/graphene/graphene/_installation/* .

此命令从下载的 Graphene 库中提取

  • index.php 包含简单的 Graphene 启动器
  • settings.php 包含日志记录和持久化设置
  • cli.php Graphene 的简单 CLI 适配器
  • .htaccess Apache 文件,包含 URL 重写和重定向到 index.php
  • web.config.htaccess 相同,用于 Windows ISS

Graphene 设置文件

[正在进行中]

动作方法

任何对 Graphene 的 HTTP 请求都与一个“动作”匹配。在 Graphene 中,动作映射快速且智能,动作被收集在单独的模块中。

定义模块

您可以通过在 settings.json 中定义的 moduleUrl 创建文件夹来定义您的模块。

{
    "v" :  "0.1.1",
    "info": {
        "version"   : "0.0.0.1",
        "name"      : "com.profile",
        "namespace" : "profiles",
        "author"    : "Me [me@mail.com]",
        "support"   : "meMod.com"
    },
    "actions": []
}

在这种情况下,我们创建了一个名为 "com.profile" 的模块,其命名空间为 "profiles"。此模块没有任何动作。

创建动作

现在我们可以创建一个简单的动作 "HELLO_WORLD",将其映射到请求 GET host/profiles/hello,您可以通过在模块清单中创建此条目来添加此动作

{"name":"HELLO_WORLD", "query":"hello"}

并在 actions 文件夹中创建 profiles.HELLO_WORLD.php 文件,如下所示

namespace profiles;

class HelloWorld extends Action{
    public function run ()
    {
        $this->sendMessage('Hello world');
    }
}

模型

Graphene 支持模型检查和存储 正在进行中

脚手架

当你创建一个新的模块时,我们推荐以下目录结构用于你的模型和动作

_module namespace_
 +--manifest.json
 +--models
 |   |--ModelClassA.php 
 |   |--ModelClassB.php 
 |   |--Mod...
 +--actions
 |   |--namespace.ACTION_NAME_A.php 
 |   |--namespace.ACTION_NAME_B.php
 |   |--namespace...

Wiki

我们非常高兴你想使用 Graphene,因此我们正在努力编写最新的 wiki,以便你可以充分利用它。请访问 Graphene wiki

如何使用

你好世界 教程