php – 如何为不同的“移动设备接口”和“桌面界面”组织代码

我正在计划一个Web应用程序.我正在使用PHP框架Kohana和Smarty.我的Web应用程序也将具有移动设备界面.现在,这两个接口将有很多共同的和很多单独的代码.

我应该如何组织代码,以便:

>没有重复的代码.
>不需要加载不必要的代码.例如,桌面UI特定代码不应加载到iPhone界面,反之亦然.

解决方法:

你真的有几个选择!

您可以选择使用共享的Kohana模块进入“2项目”路线 – 但我个人不喜欢这种方法.

我个人会使用类似的方法作为多语言网站 – 所以…… apache(或其他)会重写m.example.tld / my / page – > www.example.tld /移动/我/页

假设您使用Kohana3 – 标准路线可以更改为:

Route::set('messages', '<format>/(<controller>(/<action>(/<id>)', array('format' => '(mobile|desktop))
->defaults(array(
 'format'     => 'desktop',
 'controller' => 'welcome',
 'action'     => 'index',
));

所以 – 用户永远不会看到/ mobile / URL,但您现在可以根据Request :: instance() – > param(‘format’)选择哪个smarty模板;

可能 – 您只需复制每个平台的视图文件/智能模板.

我对输出格式使用了类似的模式…… XML,JSON,XHTML,RSS ..

希望这可以帮助

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...