Php 浏览器检测与Zend MVC

Php 浏览器检测与Zend MVC,php,zend-framework,Php,Zend Framework,我有一个使用Zend MVC框架的PHP应用程序。应用程序的每个请求的入口点都位于/public/index.php中 我有一个Browser类,该类具有检查用户的浏览器是否与应用程序兼容的功能 我的难题是,每次控制器调用都会执行index.php。因此,该文件很可能在同一页面内多次执行,因此重定向成为一个问题。解决循环问题的最佳方法是什么 谢谢你的“困境”,这听起来完全是另一个问题,我真的不会在每次控制器调用时调用index.php。我认为这是你的根本问题。如果必须,我想您可以使用会话跟踪用户

我有一个使用Zend MVC框架的PHP应用程序。应用程序的每个请求的入口点都位于/public/index.php中

我有一个Browser类,该类具有检查用户的浏览器是否与应用程序兼容的功能

我的难题是,每次控制器调用都会执行index.php。因此,该文件很可能在同一页面内多次执行,因此重定向成为一个问题。解决循环问题的最佳方法是什么

谢谢你的“困境”,这听起来完全是另一个问题,我真的不会在每次控制器调用时调用index.php。我认为这是你的根本问题。如果必须,我想您可以使用会话跟踪用户对各个页面的调用

但是index.php应该只是一个入口点,任何进一步执行的代码逻辑都应该完全不知道它的存在

关于浏览器检测:

据我所知,目前还没有确定浏览器的ZF组件。有两种方法可以做到这一点。一种是使用
$\u SERVER[“HTTP\u User\u Agent”]
基于用户代理字符串检查浏览器

当然,另一种方法是客户端检测。大多数JS库都提供了这样做的方法;正如大多数jQuery用户所知,jQuery已经弃用了它的
jQuery.browser
功能,但它们目前仍然可用


但是,如中所述,建议您检查所需的特定功能,以代替客户端浏览器检测。

您应该在前端控制器插件中执行此操作。有几种方法是根据您所处的分派流程点调用的

$i = 0;

if ($i === 0)
{
   // put everything currently in index.php into here

   $i++;
}