TAE SDK 2应用开发手册
版本:0.9
  TAE是满足淘宝个性化业务的应用托管平台,它提供了跟淘宝具体业务相关的安全机制、应用结构、规范和服务接入机制,TAE目前主要是满足未来淘宝建站平台的需求。 
目录结构及配置
首先,使用投票应用voteapp为例,其目录结构如下图:
从上图中,可以初步了解一个应用APP的目录基本结构,接下来,详细详细介绍各个目录的作用以及规范。
静态资源目录:assets目录,包括jscss和图片文件。图片文件均存放在imagse子目录中,页面渲染样式CSS文件都存放在stylesheets目录中,而Javascripts目录则是管理JavaScript脚本文件。后面的章节会具体介绍如何访问这些资源文件。
数据库访问目录:dao目录的文件复制数据库访问和sql的封装。例如上图中dbconfig.php则利用PHPPDO技术,管理配置数据库数据源,即PDO对象。其他的vote_xxx_dao.php则是数据库访问对象(DAO)的封装。
应用服务目录:service目录管理封装了相关的应用相关的核心业务逻辑PHP页面。所谓的服务,就是为视图页面提供服务调用的接口,实现业务逻辑,减少代码耦合度。
视图文件目录:view目录是web层,负责页面的布局、内容的展现和请求跳转控制,tae web层的使用smarty模板引擎, tae自己实现了url的控制和映射,具体使用见配置文件。l是应用的配置文件,demo中具体的目录可以通过配置文件统一配置,具体配置项见下文。
根目录下app.yaml文件定义了该应用的具体组成部分, 具体介绍如下:
!!com.fig.domain.Config
#应用元信息
title: voteapp
description: 投票应用新的结构
version: 1.0
provider: php
author: shihong
thumbnail: /aaa.jpg
#type: 1 tae 模块 2 独立站点
type: 2
#全局css的配置
css: /assets/stylesheets/g.css
#首页
view: /index
#管理首页
admin: /admin
#http请求配置
urls:
#前端页面
- {handler: /view/front/view.php, url: /index}
- {handler: /view/front/report.php, url: /report}
- {handler: /view/front/report_jsonp.php, url: /reportJsonp}
#卖家管理页面
- {handler: /view/admin/admin.php, url: /admin}
- {handler: /view/admin/itemlist.php, url: /itemlist}
- {handler: /view/admin/infolist.php, url: /infolist}
- {handler: /view/admin/vote_item_action.php, url: /voteItemAction}
#远程服务请求配置,serviceName服务名称,handler代表处理的php路径
#返回数据的格式,目前支持字符串格式,建议json或者xml格式。
services:
- {serviceName: vote_service ,handler:services/vote_service.php }
#安全和权限配置
#影视资源站采集api接口数据这个市前缀规则, url代表请求相对路径的前缀。role代表安全级别,anonymous是任何#都可以访问,shopOwner是店主才能访问。
security:
- {url: /index,role: anonymous }
- {url: /report,role: anonymous  }
- {url: /,role: anonymous }
开发工具下载
淘宝店铺装修市场论坛提供TAE SDK开发工具,TAE应用开发人员可以通过该SDK工具,在本地开发调试TAE应用。
下载地址:aobao/read.php?tid=22997
SDK下载完毕之后,马上尝试开发TAE应用吧!
SDK目录结构
如果您是通过网盘下载SDKzip包,需要自行安装JRE并且解压。SDK的基本目录结构:
bin目录:管理工具启动脚本程序。Windows操作系统,启动NewStartServer.bat或者StartServer.bat。非Windows操作系统,启动startServer.sh。特别提醒,确保操作系统中使用最新的JRE 6以上版本
conf目录:SDK服务器的配置文件,请不要随意修改
db目录:存放SDK本地数据库文件,请不要随意修改
lib目录:SDK服务器依赖的类库文件,请不要随意修改
sdk_open_api.php文件:SDK支持的开放API接口,属于数据开放接口,TAE应用也可以使用
tae_open_api.php文件:TAE支持的开放API接口,为TAE提供基础服务,作为sdk_open_api.php的补充
topclient.php文件:淘宝开放平台(TOP)的服务调用接口
启动SDK工具
根据具体操作系统,启动bin目录中的启动脚本。本例中使用的Windows操作系统运行的结果:
SDK将会自动启动用户偏好的浏览器:
当前SDK工具没有提供TAE APP的应用管理页面,而是需要开发者手动绑定开发。接下来具体介绍如何开发TAE应用。
成功启动后,目录结构会发生变化:
不难发现,apps目录被自动创建了,该目录就是管理TAE 应用的目录。
开发简单TAE应用
首先,让应用开发人员更直观的了解TAE 应用开发,引入一个HelloWorld应用工程来学习。
第一步:创建名为”hello_world”目录
第二步:建立应用的配置文件:l
第三步:编写应用配置文件内容(l)
!!com.fig.domain.Config
#应用元信息:用于
#应用名称标题
title: HelloWorld
#应用描述信息
description: HelloWorld TAE应用的DEMO
#应用使用的语言,暂时支持PHP语言
language: php
#应用的作者
author: tae
#应用展示缩略图
thumbnail: /assets/images/default-thumbnail.php
#type: 1 tae 模块 2 独立站点
type: 2
#全局css的配置
css: /assets/stylesheets/default.css
#首页/index的配置,详见下面的urls中的handler配置
index: /index
#后台管理首页,暂时定位/index
admin: /index
#http请求配置
urls:
#前端页面,相对于应用根目录
#以下几种请求访问方式URI均可:
#URI: /
#URI: /d/index
#URI: /index
#URI: /view.php
- {handler: /view.php, url: /index}
第四步:编写首页PHP文件(view.php
hello_world 应用目录中,新建一个名为view.php文件。
请注意:页面PHP文件是上一步中l配置关联的。非配置的PHP文件无法执行
文件内容如下:
<?php
    echo "这是HelloWorld TAE应用的首页!"
?>
第五步:绑定应用的访问域名
这步需要开发人员自行绑定操作系统的hosts文件,Windows用户则在C:\Windows\System32\drivers\etc\hosts,非Windows用户一般存放在/etc/hosts文件中。使用Windows操作系统为例:
前部分(127.0.0.1)为本地IP地址,后部分为应用的域名:hello_world.taobaoapps
其中TAE应用域名的模式为:${TAE应用目录名称}.taobaoapps。例如,如果应用目录名称为vote-app的话,那么配置则是:127.0.0.1 vote-app.taobaoapps
第六部:预览效果
访问首页:hello_world.taobaoapps:8082/
箭头1所指的区域表示PHP代码执行后的结果,而区域2则是通过应用配置文件l文件配置的:
Diapatcher方法访问方式:hello_world.taobaoapps:8082/d/index
页面文件访问方式:hello_world.taobaoapps:8082/view.php
不难发现,以上三种方式均可以访问首页页面,在前面的l配置步骤中,存在以下配置:
根据以上的步骤,一个简单应用的基本配置基本上完成。
注意事项:1.部署TAE应用需要重启SDK
              2.修改TAE应用的配置文件和页面,无需启动SDK
              3.考虑到TAE应用的安全性,部分PHP功能存在限制,具体请参考TAE                PHP白名单
开放接口
除了利用PHP白名单功能以外,还可以TAE开放的API接口来开发应用。具体API接口文件存放在SDK的根目录中:
其中,sdk_open_api.php为淘宝店铺装修的开放接口,同样可以在TAE应用中使用,方便开发人员读取店铺数据信息。这里不加以详细介绍,具体细节请参考:
aobao/index.php/%E5%BC%80%E6%94%BE%E6%8E%A5%E5%8F%A3%E8%AF%A6%E8%A7%A3

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。