2010-03-18 37 views
0

我有一個使用Zend MVC框架的PHP應用程序。對應用程序的每個請求的入口點位於/public/index.php。瀏覽器檢測和Zend MVC

我有一個瀏覽器類,有功能來檢查用戶的瀏覽器是否與應用程序兼容或不兼容。

我的兩難處境是,index.php是針對每個控制器調用執行的。所以有可能這個文件在同一頁面內被多次執行,因此重定向成爲一個問題。解決循環問題的最佳方法是什麼?

感謝

回答

-1
$i = 0; 

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

    $i++; 
} 
1

關於你提到的「兩難」,這完全聽起來像一個不同的問題,我真的會避免在每個控制器電話呼叫的index.php。這是我認爲的根本問題。如果你必須,我想你可以使用Session來跟蹤用戶對各個頁面的呼叫。

但index.php應該只是一個入口點,任何進一步執行的代碼邏輯應該完全不知道它的存在。

關於瀏覽器檢測:

據我所知,目前還沒有確定的ZF組件,它決定了瀏覽器爲您服務。有兩種方法可以解決這個問題。一種是使用$_SERVER["HTTP_USER_AGENT"]根據用戶代理字符串檢查瀏覽器。

另一種方式當然是客戶端檢測。大多數JS庫都提供了這樣的方法;因爲大多數jQuery用戶都知道jQuery已棄用它的jQuery.browser功能,但它們目前仍然可用。

但是,如http://docs.jquery.com/Utilities/jQuery.browser所示,建議您替代客戶端瀏覽器檢測,檢查所需的特定功能。