【问题标题】:Creating a common REST API consumption module for Zend Framework 2为 Zend Framework 2 创建一个通用的 REST API 消费模块
【发布时间】:2014-02-25 19:25:44
【问题描述】:

全部,

我正在寻找一些指针来创建一个供我的 10 个 PHP 应用程序使用的通用模块。所有这 10 个应用程序都需要使用第三方的 rest api。他们不需要创建 API,只需使用即可。

所以,我有这段代码来使用休息 api。如何从这段代码创建一个通用的 REST API 消费模块,这样我就不需要在我的所有 php 应用程序中复制这段代码?

use Zend\Http\Request;
use Zend\Http\Client;
use Zend\Stdlib\Parameters;

$request = new Request();
$request->getHeaders()->addHeaders(array(
    'Content-Type' = > 'application/x-www-form-urlencoded; charset=UTF-8'
));
$request->setUri($someurl);
$request->setMethod('POST');
$request->setPost(new Parameters(array('someparam' = > $somevalue)));

$client = new Client();
$response = $client->dispatch($request);
$data = json_decode($response->getBody(), true);

【问题讨论】:

    标签: php zend-framework2


    【解决方案1】:

    您将像在任何 ZF2 应用程序中一样创建一个新模块,并且上述代码将存在于该模块内的一个类中。在您的其他应用程序中,您只需将模块作为依赖项引入并扩展或调用包含上述代码的类。

    如果您还没有使用它来管理依赖项,我强烈推荐 composer

    【讨论】:

    • 所以,你的意思是,我在这个新的通用模块中不需要任何控制器或视图,而只是在模块的模型目录中有一个类。对?我想知道是否需要创建一个包含 1 个模块的新 PHP 应用程序并在该模块中包含该类
    • 正确。您的模块的顶级文件夹将包含您的 config 文件夹和您的 module.config 文件,然后是您的 src 文件夹,其中包含您的代码/类。不需要控制器/视图等。我发现这个 github repo 的结构与我相信的你的目标相似。 github.com/neeckeloo/Crocodoc
    • 我明白了.. 这有点离题了.. 我可以创建一个名为“common”的 PHP 应用程序,并在其中包含 2 或 3 个模块,其中包含您提到的类,并以某种方式使用依赖管理器来使用这些模块并在我的其他 PHP 项目中引用它们?
    • 传统上,您只需单独引入模块。但是,如果您一直都在使用它们,也许您应该将它们合并到一个名为 Common 的模块中?
    • 我明白了.. 有道理.. 谢谢你的帮助 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    相关资源
    最近更新 更多