ThinkPHP Mobile-最简单的使用教程TTPM

ThinkPHP Mobile-最简单的使用教程TTPM

2021-09-21 76
此资源仅限VIP下载
下载不了?请联系网站客服提交链接错误!
增值服务:

ThinkPHP Mobile-最简单的使用教程TTPM

阿奇源码默认解压密码为"www.aqiyuanma.com",2021年9月11日前的源码默认解压密码为"www.hnymwl.com"
阿奇官方VIP技术群:483386718,阿奇源码技术交流群:938992858!速奇云-香港云服务器38元/月

ThinkPHP Mobile-最简单使用教程TTPM

一、基础常识

 

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 ,代码为:

<?php
return array(
‘action_begin’=>array(‘SwitchMobileTpl’)
)

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

function redirect($url, $time=0, $msg=”) {
//多行URL地址支持
$url = str_replace(array(“\n”, “\r”), ”, $url);
if (empty($msg))
$msg = “系统将在{$time}秒之后自动跳转到{$url}!”;
if (!headers_sent()) {
// redirect
if (0 === $time) {
//手机客户端跳转发送redirect的header
if(defined(‘IS_CLIENT’) && IS_CLIENT){
if(”!==__APP__){
$url=substr($url,strlen(__APP__));
}
header(‘redirect:’.$url);
}else{
header(‘Location: ‘ . $url);
}
} else {
header(“refresh:{$time};url={$url}”);
echo($msg);
}
exit();
} else {
$str = “<meta http-equiv=’Refresh’ content='{$time};URL={$url}’>”;
if ($time != 0)
$str .= $msg;
exit($str);
}
}

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

TPM.run(“http://yourappurl”);

,将网址修改为你项目的真实访问地址。
然后,我们可将模板目录打包成手机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.tpm
version: 使用版别, 默以为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 中需求有这两个层:

<div id=”main”></div>
<div class=”ajax_wait”>正在加载中…</div>

TPM会把每次烘托模板的成果放到ID为main的层中。 class为ajax_wait的层 是在恳求接口的时分会显现,咱们能够在css文件中界说ajax_wait的款式。

2 模板标签
咱们知道在手机APP中并没用PHP运转环境,解析ThinkPHP模板标签的是js,ThinkPHP的大部分模板标签都能够正常运用,但也有一些约束,比方模板标签中不能用PHP的函数,所以也不能在模板中运用U函数。
支撑的ThinkPHP模板标签有: volist,foreach,for,empty,notempty,present,notpresent,eq,neq,heq,nheq,egt,gt,elt,lt,if,elseif,else,switch,case,default,in,notin,between,notbetween,include。

include标签在运用时有点约束,file特点有必要写明控制器和办法,不能省掉控制器。 如

<include file=”Action:method” />

然后在Tpl目录下树立一个mobile文件夹。 在mobile文件夹中放置手机APP的模板。 这样如果是阅读器阅读网站主页,程序烘托的模板是Tpl/Index/index.html, 如果是手机APP翻开,烘托的主页模板是 Tpl/mobile/Index/index.html .

4 装备阐明
Tpl/index.html文件中需求加载TPM.js以及运转TPM , 运转TPM的代码是:

TPM.run(config)

TPM.run传递的config参数是装备项。 以对象方式传递。 能够设置的首要装备有:
api_base: 项目进口文件地址, http最初。
api_index: 初次恳求的控制器办法,默以为/Index/index
下面举例说明一下这些装备项。
假定咱们创建了一个项目, 进口文件的阅读地址是 http://www.xxx.com/index.php , 咱们想手机APP翻开的第一个页面不是主页,而是登陆页,登陆页的阅读地址假定是:
http://www.xxx.com/index.php/Index/login

那么TPM.run的传参如下:

TPM.run({
api_base:’http://www.xxx.com/index.php’,
api_index:’/Index/login’
});

如果你的项目做了隐藏入口文件的处理,那么api_base也可以不写入口文件,配置为:

TPM.run({
api_base:’http://www.xxx.com’,//注意,末尾不带斜杠
api_index:’/Index/login’
});

如果只想配置api_base这个参数,其他参数使用默认值,只传递一个网址作为参数:

TPM.run(‘http://www.xxx.com’)

5 元素监听
咱们做一些js作用,往往会监听元素事情,比方:

<script>
$(document).ready(function(){
$(‘#id’).click(function(){
alert(‘click’);
});
});
<script>

这段代码监听一个元素的点击事情,但在TPM中这样监听可能会失效, 由于这种监听方法不能监听到重生的元素, 而TPM 的界面都是 恳求接口烘托模板后重生的, 重生的内容会放在Tpl/index.html 文件中main层中。在TPM中要对这种重生的元素进行事情监听,能够运用TPM.ready,用法如下:

<script>
TPM.ready(function($){
$(‘#id’).click(function(){
alert(‘click’);
});
});<script>

TPM还有许多特性,它不仅能和ThinkPHP结合, 也能够结合自己已有的接口。还有一些附件插件协助咱们完成一些常用功用。 其他高档的用法咱们会连续发布运用文档,咱们敬请期待。
TPM初次发布,可能有许多缺乏的当地,期望咱们能予以体谅。多为咱们供给名贵主张, 咱们会不断尽力,持续完善好TPM 。 让咱们和广阔TPer一同推开移动互联网的大门。

 

阿奇源码网包含各类免费源码涵盖了网站源码,源码下载,APP源码,游戏源码等!同时提供wordpress主题,小程序源码,区块链源码,商城源码等优秀PHP源码等!

资源下载此资源仅限VIP下载,请先
4581324
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

注:在使用本系统时,使用方必须在国家相关法律法规范围内并经过国家相关部门的授权许可,禁止用于一切非法行为。使用用途仅限于测试、实验、研究为目的,禁止用于一切商业运营,本团队不承担使用者在使用过程中的任何违法行为负责。

阿奇源码 THINKPHP教程 ThinkPHP Mobile-最简单的使用教程TTPM https://www.aqiyuanma.com/108425.html

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

你的前景,远超我们想象
ThinkPHP Mobile-最简单的使用教程TTPM-海报

分享本文封面