美高梅游戏网站登录:本文实例讲述了ThinkPHP里用

本文实例讲述了ThinkPHP里用U方法调用js文件的方法。分享给大家供大家参考。具体如下:

1.手机APP的类型

在TP里提供了在模板文件中直接调用函数的快捷方法。U是其中之一。手册里有它的用法:复制代码 代码如下:{:U}

移动端的应用有这几种: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。

先把js文件的后缀改成html,然后写个JsAction,在里面进行调用:

2.手机APP的一般架构

display; }}?>//最后,把左框架里的JS链接改一下:

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

希望本文所述对大家基于ThinkPHP框架的php程序设计有所帮助。

3.其他手机开发的知识

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

二、环境搭建

首先你需要建立一个包含TPM的ThinkPHP项目。 你可以在ThinkPHP官方网站上下载TPM, 也可以中github中获得。 Github的地址是: Tpl目录下的文件复制到你的项目文件夹下Tpl目录中。将SwitchMobileTplBehavior.class.php 复制到 项目目录下 Lib/Behavior 目录下,将TemplateMobile.class.php 文件复制到 ThinkPHP/Extend/Driver/Template 下。项目需要开启layout , 在项目配置文件中配置:

'LAYOUT_ON'=>true

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

array

如果想手机客户端支持页面跳转,需要修改核心文件 ThinkPHP/Common/functions.php 中得redirect函数,修改为:

function redirect($url, $time=0, $msg='') { //多行URL地址支持 $url = str_replace, '', $url); if  $msg = "系统将在{$time}秒之后自动跳转到{$url}!"; if  { // redirect if  { //手机客户端跳转发送redirect的header if && IS_CLIENT){ if{ $url=substr; } header; }else{ header; } } else { header("refresh:{$time};url={$url}"); echo; } else { $str = ""; if  $str .= $msg; exit; } }

编辑器打开Tpl/index.html文件,修改代码

TPM.run; 

将网址修改为你项目的真实访问地址。然后,我们可将模板目录打包成手机APP 。 首先打开你的命令行, cd 到模板目录, 运行命令:

php build.php 

然后我们发现在模板目录会生成手机APP文件, 我们在手机上面安装即可。 命令行打包程序需要你的环境开启zip和curl扩展,如果不清楚的话请自行百度解决。注意:打包命令需要联网,如果没有联网的话 可以用第三方打包工具例如phonegap打包。

打包命令还可以跟更多参数:php build.php

参数说明:

platform :输入android或ios, 默认为android,现在还不支持IOS打包,大家敬请期待。 name :应用名称, 默认为TPM 。package: 应用的包名,如:com.think.yourname ,一般为一个域名的倒序。 默认为 cn.thinkphp.tpmversion: 应用版本, 默认为1.0

三 使用说明

1.运行原理

之前我们在部署项目的时候发现ThinkPHP开启了layout,其实浏览器浏览网站时使用的layout文件是Tpl/layout.html, 而打包成手机APP后,layout文件其实是 Tpl/index.html , 我们用编辑器打开 Tpl/index.html文件, 发现里面多加载了一个js文件:TPM.js 。 在手机APP上运行时,TPM.js文件负责解析ThinkPHP模板标签和自动请求接口。 Tpl/index.html 中需要有这两个层:

 正在加载中...

本文由美高梅游戏网站登录发布于美高梅棋牌游戏,转载请注明出处:美高梅游戏网站登录:本文实例讲述了ThinkPHP里用

您可能还会对下面的文章感兴趣: