2012-03-10 174 views
3

我目前正在研究針對Web和移動Web應用程序的客戶端提議。 Web應用程序有61個功能,而Mobile Web應用程序應該具有所有功能的子集。對移動Web應用程序和Web應用程序使用YII框架(php)

我們評估了各種編程語言棧,並確定LAMP是最好的一個。我們甚至進一步評估了PHP中的各種MVC框架並最終確定了YII。

現在我的問題在這裏。我們將爲移動設備和Web應用程序使用相同的代碼庫。我們已經計劃通過一個「前端控制器」目標控制器路由所有請求,該控制器檢查「用戶代理」頭並將所有應用程序控制器放在一個開關塊中。因此,對於Web和移動應用程序,「模型」和「控制器」代碼保持不變,只有「視圖」更改。根據「用戶代理」,目標控制器決定加載適當的「查看」。這個架構對你們來說如何?有沒有人有更好的主意?這個架構在YII中的功能是否可行?請引導我一樣。

+0

如果我的答案是你所需要的,我會很感激的投票。謝謝! – acorncom 2012-04-09 13:03:13

回答

3

我們計劃路線通過「前端控制器」的目標控制器,可勾選「用戶代理」的所有請求頭並在開關塊中的所有應用程序控制器而不是做這個的

,請考慮使用過濾器來代替: http://www.yiiframework.com/doc/guide/1.1/en/basics.controller#filter

他們的方式更強大,可以消除像開關塊,而仍然讓你完全控制什麼主題得到加載,等等

+0

過濾器的聲音真棒! – verisimilitude 2012-04-06 11:02:22

+1

是的,他們是:-) – acorncom 2012-04-06 14:33:38

+0

給出upvote :)謝謝:) – verisimilitude 2012-04-18 09:50:20