我在许多插件中一直看到这行代码。除了Request_Http
之外,它究竟做了什么以及还有什么其他可能性if (!$request instanceof Zend_Controller_Request_Http)
return;
答案 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路由类的了解,这是猜测,我可能错了!)