我正在用Zend Framework 2构建一个网上商店,这个网上商店将使用供应商提供的API。ZF2模块API - 什么结构和类?
我们想卖定制汽车产品,如进气口,空气悬挂部件&套件,车身套件,排气管,格栅,方向盘等
供应商提供了一个API(只是GET
电话使用参数和逗号 - 分隔响应)具有以下功能
产品
- 按分类查找;
- 汽车品牌搜索 - >型号 - >型号;
- 按ID搜索;
- 按名称搜索;
订单
- 添加;
- 查看;
- 删除。
发票
- 查看;
股票获得通过orderId的当前值
交货查看当前状态。
我建一个名为SupplierName模块。 我创建了一个Module.php文件:
<?php
/**
* This file is placed here for compatibility with ZendFramework 2's ModuleManager.
* It allows usage of this module even without composer.
* The original Module.php is in 'src/SupplierName/Module.php' in order to
* respect the PSR-0 convention
*/
require_once __DIR__ . '/src/SupplierName/Module.php';
供应商/ SupplierName/src目录/ SupplierName/Module.php
<?php
namespace SupplierName;
class Module
{
public function getConfig()
{
return include __DIR__ . '/../../config/module.config.php';
}
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__,
),
),
);
}
}
在我我用的是主模块的IndexController的的indexAction代码在下面加载我的模块。
$supplierNameClient = $this->getServiceLocator()->get('SupplierName\Client');
现在我的问题就来了......这是我第一次会的建设,只有将用于从外部资源加载数据,并把它传递给我自己的系统的模块。问题是,我没有设法想到我的模块的良好结构...我认为应该有一个类每种产品类型(烧烤,排气,steeringWheel等),订单,发票等。
我一直在寻找并看着http://modules.zendframework.com/page/2?query=api。有一个应该用来与web服务进行通信的模块列表。
任何人都可以告诉我在哪里寻找信息/样本来构建这样的模块? 或者任何人都可以给我一个例子,我应该如何构建这个模块?
非常感谢提前,如果有什么不清楚,请让我知道,所以我可以解释它!
谢谢罗布! 当我想要显示方向盘时,API需要品牌名称,系列名称和型号名称。我可以拨打https://apiurl.com/steering-wheels/car-brand-list。该URL给我一个汽车品牌清单。我应该在SteeringWheelMapper中创建一个方法并返回一个数组吗?这是做到这一点的方式吗? – 2013-03-08 10:18:10
我想使用\ Zend \ Http \ Client进行HTTP调用。我在vendor/SupplierName/src/Suppliername/Mapper/AbstractWebServiceMapper中创建了一个文件。我是否应该将一个带有\ Zend \ Http \ Client实例的var注入AbstractWebServiceMapper,并让Suppliername \ Mapper \ SteeringWheelMapper扩展供应商名称\映射器\ AbstrachtWebServicemapper?只要检查'如果我正确理解你的想法... – 2013-03-08 10:44:50
这就是我要做的,是的。通过ServiceManager注入配置的“客户端”。 – 2013-03-08 10:58:51