2013-04-03 120 views
-1

我有一个复杂的php/mysql/js网站。我想创建一个移动版本。根据在网上阅读,我认为它必须是一个专门的精简网站,如m.google.com或m.yahoo.com,不是一个响应式的网站,因为当前网站有多个列和图像。 (它已经在移动浏览器上工作,但眼睛有压力,而且还没有得到优化。)将php/js网站转换为手机...创建新网站?

我收集理想的版本应该是有一组文件,并且在检测到移动浏览器后,在不同的无风扇模式下swqp。但是,该网站并非为此而建,这不是一个现实的选择。网站也没有使用模板构建。

另一方面,我不想重写所有的逻辑和dbase查询。是

我能想到的两个选项如下:

选项1:一个文件的集合,即一个网站。我可以检测到移动浏览器并设置会话变量。然后在每个页面上,我将检查移动会话变量,如果存在,则显示为手持设备优化的标记。

选项2:将网站文件复制到单独的目录(如移动设备)。然后在这些文件中重做标记,以便对手持设备进行优化。

会我仍然能够做到选项1,有网站有自己的子域名作为m.site.com

什么被认为是最佳的时候才换出不同的样式表,或者使用移动网站单独的模板不是一个选项。

在此先感谢您的任何建议。

+0

不幸的是,这个问题对于SO来说不是一个好的格式。然而,我会说,没有硬性的,快速的“最好的方式”去做事情。对你而言,“最好的方式”可能取决于最重要的东西。你有计划约会吗?你想在重构中投入多少工作?如果您正在与客户或内部客户打交道,他们愿意投入多少时间/金钱来进行这项改变?他们是否对移动网站应该有什么具体要求?这些要求如何适用于现有代码的重用?进入这里的变量太多了。 – 2013-04-04 00:00:20

回答

1

如果你是绝对相信,你需要单独的标记,那么最好的做法通常是先从表现层分离业务逻辑,这样你可以重复使用相同的后端逻辑,以及dynically服务于不同的前端视图/模板。像Zend Framework,Codeignitor,Symphony,CakePHP(以及其他许多PHP框架)使得这个过程相对简单。

至于是否使用子域名(m.mysite.com)或会话变量,无论哪种方式都可以正常工作。在PHP中,您可以检查$ _SERVER ['SERVER_NAME']以查看是否正在使用'm'子域,或者同样轻松地检查会话变量。