加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 哪种模式以及如何构建此[不同的serviceHandlers,结构和验

发布时间:2020-12-13 16:50:36 所属栏目:PHP教程 来源:网络整理
导读:好吧所以我试图弄清楚所有这些模式. 好吧,所以我在CodeIgniter中编写了一个应用程序,它需要能够使用SOAP,可能是XML,逗号分隔等将有关汽车和客户的数据发送给不同类型的公司. 但他们都需要同样的东西. 我想让它尽可能动态,并确保编写测试很容易. 所以服务应该
好吧所以我试图弄清楚所有这些模式.

好吧,所以我在CodeIgniter中编写了一个应用程序,它需要能够使用SOAP,可能是XML,逗号分隔等将有关汽车和客户的数据发送给不同类型的公司.

但他们都需要同样的东西.

我想让它尽可能动态,并确保编写测试很容易.

所以服务应该采取以下几点:

>一个处理程序
>申请人[1-2]
> params
>对象

我开始创建不同的类

Gr8Exp
NordCar
SwePerf

每个实现接口iServiceRequest

interface iServiceRequest{
    /**
     * Send the request to the company server.
     */
    function sendRequest();
    /**
     * Saves the response into the database.
     */
    function saveResponse();
    /**
     * Prepares the request to the company,setting info from form and shit.
     */
    function prepareRequest();
    /**
     * Soap,XML,CSV,JSON
     * @param type $method
     */
    function setRequestHandler(iServiceRequestHandler $handler);
}

然后他们需要构建Soap,JSON请求,具体取决于我输入的处理程序.

在需要验证的人(不是所有人)之后我使用了:

interface iAdaptServiceRequest{
    /**
     * Structure the array information and put it into an object structure in the right place.
    */
    function structure(array $info);
    /**
     * Make all the checks for the function
     */
    function validateInfo();
}

但是我被卡住了,当我刚刚使用SOAP请求时它工作得非常好;但现在.由于我需要以不同的方式对它们进行格式化,因此对每种类型的请求或公司使用不同的处理程序,我不知道该怎么做.
我可以把它们放在不同的文件夹中,并在不同的文件夹中重新创建该类.但这并不是一个好习惯,因为我正在复制代码.

最后我想运行这样的链接:

$result = $m-> prepareRequest() – > sendRequest() – > saveResponse();

有什么建议??

解决方法

恕我直言:

– 创建/使用前端控制器.

– 前端控制器确定使用哪个请求处理程序(JSON,SOAP,XML等).

– 请求处理程序生成一个公共“请求”对象,该对象在所有接口中的行为相同,基本上将变量放入“请求对象”内的常见命名格式

– 它确定将请求发送到哪个服务并在那里发送请求对象

– 服务处理请求对象并生成响应对象

– 控制器创建一个适当的(JSON / SOAP / XML)View对象,将响应对象处理为正确的视图类型,View将响应输出为该类型.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读