何时是Zend_Controller_Request_Http以外的控制器

时间:2011-02-08 14:11:46

标签: php zend-framework

我在许多插件中一直看到这行代码。除了Request_Http

之外,它究竟做了什么以及还有什么其他可能性
if (!$request instanceof Zend_Controller_Request_Http)
    return;

3 个答案:

答案 0 :(得分:1)

通过Zend Framework文档,我看到Zend_Controller_Request_Http的兄弟类是Zend_Controller_Request_Simple,它用于获取有关ZF应用程序的命令行请求的信息。有问题的插件可能仅适用于使用浏览器(或任何HTTP客户端)请求的Web应用程序,因此这些插件会以其他方式退出。

答案 1 :(得分:1)

即使每个类都延伸Zend_Controller_Request_Abstract也不常见。

答案 2 :(得分:1)

我认为最初ZF的所有路由都基于REQUEST_URI,因此许多路由类在$ request上运行,这是一个字符串。为了方便诸如子域的路由之类的事情,这已被改变,以便传入整个请求对象。因此,在您的示例中的检查仅仅是在调用之前检查$ request是否是请求对象(而不是字符串)它的方法。

(免责声明:根据我对ZF路由类的了解,这是猜测,我可能错了!)