当前位置:  编程技术>php

ThinkPHP中Mobile用法实例教程

    来源: 互联网  发布时间:2014-08-30

    本文导语:  一、基础知识 1.手机APP的类型 移动端的应用有这几种:WebApp,NativeApp,HybridApp。 WebApp 就是手机网站,需要用手机浏览器访问。 NativeApp是用原生语言开发,用户需要下载安装的手机应用。 NativeApp的开发成本很高,每个平台的...

一、基础知识
1.手机APP的类型
移动端的应用有这几种:WebApp,NativeApp,HybridApp。

WebApp 就是手机网站,需要用手机浏览器访问。

NativeApp是用原生语言开发,用户需要下载安装的手机应用。 NativeApp的开发成本很高,每个平台的开发语言都不一样, 比如IOS的开发语言是object C , Android系统的APP需要用Java开发, WindowsPhone 则需要用 C# 开发。那么我们如果需要做一个多平台都能运行的APP,需要用多种语言重复开发多次。

相对于NativeApp来说, WebApp开发就简单多了, 用html,css,js就可开发WebApp, 而且开发一次跨多个平台。但是WebApp 需要用户打开手机浏览器输入网址才能访问,而且不能像NativeApp 能调用手机的摄像头,通讯录等功能。WebApp的html,css,js图片等静态资源在服务器上,用户需要下载,会消耗用户更多的流量。

而NativeApp的静态资源在手机本地。

HybridApp中和了NativeApp和WebApp各自的优势。
可以用html,css,js 开发,兼容多个平台。用户也要下载安装,并能调用手机的摄像头、通讯录等功能, HybridApp的静态资源也在手机本地。

ThinkPHP的模板也是用HTML,CSS,JS 开发的,能否将ThinkPHP的模板直接打包成手机APP?能一次开放同时拥有电脑版网站,手机版网站和手机APP, 因此才有了TPM的诞生。
TPM能让我们将ThinkPHP的模板打包成一个HybridApp。

2.手机APP的一般架构
很多手机APP的数据都是动态获取的,我们需要给APP提供接口,让APP请求接口获取数据。 不管你是开发NavtiveApp 还是 HybridApp, 都需要给APP提供接口。

传统的HybridApp 开发方式任然需要我们为APP开发一个接口程序, 我们还要用js写调用接口的ajax的代码。
如果使用TPM开发,不用特意写接口程序,也不用写ajax调用接口的程序 。 我们还是按照开发网站的方式开发手机客户端,在Action中指派模板变量, 在模板中使用模板变量。 当我们将模板打包成APP时,APP能自动请求Action,然后渲染对应的模板,这时候请求Action时,Action会自动返回json格式数据。

3.其他手机开发的知识
要开发好手机APP,还需要了解更多手机开发的知识。 手机的尺寸大小不一样,所有我们的界面一般不能写成固定尺寸的, 要做响应式设计。 建议大家了解一下响应式设计的知识。 也可以结合一些UI框架,如bootstrap、purecss 他们自带对响应式的支持。

建议大家再阅读一下《移动端webapp开发必备知识》
http://www.qianduan.net/mobile-webapp-develop-essential-knowledge.html

二、环境搭建
首先,需要建立一个包含TPM的ThinkPHP项目。
可以在ThinkPHP官方网站上下载TPM, 也可以中github中获得。

Github的地址是:
https://github.com/liu21st/extend/tree/master/Extend/Tool/TPM
将下载的文件中, Tpl目录下的文件复制到项目文件夹下Tpl目录中。将SwitchMobileTplBehavior.class.php 复制到项目目录下 Lib/Behavior 目录下,将TemplateMobile.class.php 文件复制到 ThinkPHP/Extend/Driver/Template下。

项目需要开启layout,在项目配置文件中配置:
 

代码示例:
'LAYOUT_ON'=>true
 

在项目的Conf文件夹下建立tags.php ,代码为:
 

代码示例:

    
 
 

您可能感兴趣的文章:

  • ThinkPHP模板判断输出Present标签用法详解
  • Thinkphp中import的几个用法详细介绍
  • ThinkPHP模板判断输出Empty标签用法详解
  • ThinkPHP模板IF标签用法详解
  • ThinkPHP模板判断输出Defined标签用法详解
  • ThinkPHP模板Switch标签用法示例
  • ThinkPHP模板范围判断输出In标签与Range标签用法详解
  • ThinkPHP3.1的Widget新用法
  • ThinkPHP使用心得分享-分页类Page的用法
  • Thinkphp中volist标签用法实例教程
  • ThinkPHP模板比较标签用法详解
  • Thinkphp中的volist标签用法简介
  • ThinkPHP之N方法实例教程
  • ThinkPHP之A方法实例教程
  • ThinkPHP标签怎么制作?thinkphp标签制作实例教程
  • ThinkPHP之A方法实例讲解
  • ThinkPHP之N方法实例详解
  • ThinkPHP实现批量删除数据的代码实例
  • ThinkPHP3.1之D方法实例详解 iis7站长之家
  • 采用ThinkPHP中F方法实现快速缓存实例
  • ThinkPHP中R方法实例教程
  • ThinkPHP3.1之D方法实例详解
  • ThinkPHP的Widget扩展实例
  • ThinkPHP的MVC开发机制实例解析
  • ThinkPHP之R方法实例详解
  • thinkphp自定义标签与view直接标签实例教程
  • thinkphp一键清除缓存实例教程
  • ThinkPHP文件上传实例教程
  • ThinkPHP实例化模型的四种方法概述
  • ThinkPHP模板替换与系统常量及应用实例教程
  • ThinkPHP之M方法实例教程
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ThinkPHP CURD方法之order方法教程详解
  • ThinkPHP CURD方法中limit方法教程详解
  • ThinkPHP CURD方法之table方法教程详解
  • ThinkPHP CURD方法中page方法教程详解
  • ThinkPHP CURD方法之data方法教程详解
  • ThinkPHP标签制作教程
  • ThinkPHP连接数据库及主从数据库的设置教程
  • ThinkPHP模板引擎导入资源文件教程详解
  • ThinkPHP令牌验证实例教程
  • thinkphp模板自定义标签实例教程
  • ThinkPHP中import方法实例教程
  • ThinkPHP CURD方法之field方法教程详解
  • Thinkphp的volist标签嵌套循环使用教程
  • thinkPHP+Uploadify图片上传实例教程
  • ThinkPHP基本的增删查改操作实例教程
  • ThinkPHP中ajax使用实例教程
  • ThinkPHP验证码和分页实例教程
  • ThinkPHP中的create方法与自动令牌验证实例教程
  • ThinkPHP跳转页success及error模板实例教程
  • ThinkPHP验证码使用简明教程
  • ThinkPHP学习笔记(一)ThinkPHP部署
  • ThinkPHP3.1新特性之对分组支持的改进与完善概述
  • 轻量级PHP开发框架 ThinkPHP
  • 模仿 thinkphp 的 nodejs MVC 框架 Nstorm
  • thinkphp分页保持搜索状态实现方法
  • ThinkPHP中的关联模型注意点
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
  • ThinkPHP让分页保持搜索状态的方法
  • ThinkPHP实现事务回滚示例代码
  • Thinkphp模板中截取字符串函数简介
  • ThinkPHP框架实现session跨域问题的解决方法




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3