Post 内部数据发布[Kohana 3.1]
在Kohana 3.1.x框架中 通过这样的内部请求发送数据有什么好处Post 内部数据发布[Kohana 3.1],post,request,kohana,internal,Post,Request,Kohana,Internal,在Kohana 3.1.x框架中 通过这样的内部请求发送数据有什么好处 $post = Request::factory('module/data') ->method(Request::POST) ->post(array('some' => 'random data')) ->execute() ->response; Module::instance()->data(array('some
$post = Request::factory('module/data')
->method(Request::POST)
->post(array('some' => 'random data'))
->execute()
->response;
Module::instance()->data(array('some' => 'random data'));
如果你能简单地发送这样的数据
$post = Request::factory('module/data')
->method(Request::POST)
->post(array('some' => 'random data'))
->execute()
->response;
Module::instance()->data(array('some' => 'random data'));
在本例中,模块
是一个随机模块,数据
是一些随机方法
我将通过ajax和内部请求调用这个模块。我计划设计RESTful API
问题是:为什么要使用HMVC而不是直接使用内部类API呢?因为它们是内部请求,所以没有额外的HTTP请求
您可能希望查看请求\客户端\内部,并将其与请求\客户端\外部进行比较。在那之后,你应该感到开悟:)
编辑:
您应该知道AJAX请求不是唯一的“外部HTTP请求”。cURL、PECL HTTP、file_get_contents()和其他PHP函数也将发送一个外部HTTP请求(您应该阅读RFC 2616以了解HTTP的实际工作原理)。通过HMVC调用,您可以对Ajax和内部请求使用相同的控制器。此外,它还可以处理标准(非ajax)http请求,例如表单提交。一体化解决方案,单一入口点
如果您不需要HMVC调用,您将需要一个内部请求调用(在基本控制器中的某个位置),另一个调用-在一个特殊的Ajax控制器中。此外,您可能在数据呈现方面有问题(通常HMVC和ajax调用使用不同的模板)。它还没干。我会对上面比卡维隆说的话发表评论,但我还不能,所以我把它作为一个答案。
@stacknoob:您可以使用Module::instance()->数据(数组(…)
作为控制器的操作吗?你可以-用一些额外的代码。
相反,正如biakaveron所说的,您可以保留代码逻辑,并让操作为AJAX和HMVC请求返回相同的结果。在一个地方。DRY+KISS。我的两个示例不是都是没有额外HTTP请求的内部请求吗?当然,通过Ajax会有额外的HTTP请求。Module::instance()是。。。什么?不是Module::instance()->数据(数组(…)代码>也是内部请求?这是一个很好的添加!谢谢我终于明白了区别。另外,我想指出的是,使用HMVC时会有开销。也许这个链接有帮助-