34
Demo Review 仙羽 Part-1 12年3月19日星期一

Demo review

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Demo review

Demo Review

仙羽

Part-1

12年3月19日星期一

Page 2: Demo review

起始符和结束符:<?php ?>PHP

文件末尾的?>结束符不是必须的

不要使用short_tag <? ?> <?=$val;?>

__是demo-dev-lib中定义的快捷输出函数

12年3月19日星期一

Page 3: Demo review

变量和作用域:数据类型PHP

12年3月19日星期一

Page 4: Demo review

变量和作用域:类型转换及相关PHP

12年3月19日星期一

Page 5: Demo review

变量和作用域:预定义变量PHP

12年3月19日星期一

Page 6: Demo review

变量和作用域:作用域PHP

函数内部不能引用外部的变量

预定义变量、常量除外

使用global声明的变量除外

函数内可以定义静态变量,其值函数执行后不消失

文件中定义的变量在include、require的文件中也生效

12年3月19日星期一

Page 7: Demo review

常量PHP

12年3月19日星期一

Page 8: Demo review

运算符PHP

和javascript基本⼀一样

$a = $a || $b;

False == ‘’,‘0’,0,0.0,array(), Null

== 值等于=== 全等于

字符串连接 . .=

数组存取: [下标]

12年3月19日星期一

Page 9: Demo review

控制结构PHP

12年3月19日星期一

Page 10: Demo review

函数PHP

12年3月19日星期一

Page 11: Demo review

类PHP

12年3月19日星期一

Page 12: Demo review

常用函数PHP

12年3月19日星期一

Page 13: Demo review

学习资源PHP

code.google.com/p/phpdoc-zh

12年3月19日星期一

Page 14: Demo review

tm-dev-lib

1.php5.3+2.开启以下拓展:curl、mbstring、mysql、json3.将tm-dev-lib路径添加到include_path中

服务器要求

12年3月19日星期一

Page 15: Demo review

tm-dev-lib

Action控制器

View视图

Model模型

ORG公共类库

Common Function公共函数库

phpcommon页头页尾

DPL标准样式库

Assets静态资源服务

Input输入获取

MySQL

ItemModel商品模型

CategoryModel类目模型

tmdev.php入口文件

12年3月19日星期一

Page 16: Demo review

tm-dev-lib

1.支持combo,其中??为分隔符2.如果文件不存在(含combo),则发送4043.不寻找未压缩版本4.头信息中不包含编码格式,包括文件类型5.每个文件都可以有查询串(?部分)

a.tbcdn.cn

12年3月19日星期一

Page 17: Demo review

tm-dev-lib assetstm-dev-lib

1.以a.tbcdn.cn为蓝本2.支持less、coffeescript、markdown实时解析3.支持指定不同的分支目录4.支持文件缓存,当本地文件不存在时,自动从 指定的服务器获取文件,并能侦测404状态5.约定优于配置,没有配置页面(ucool)

12年3月19日星期一

Page 18: Demo review

tm-dev-lib

assets.demo.tmall.net

assets.local.tmall.net开发者本地机器

挂载共享目录

taobao assets server

svn upsvn ci

svn upsvn ci

12年3月19日星期一

Page 19: Demo review

assets方法tm-dev-lib

12年3月19日星期一

Page 20: Demo review

assets notetm-dev-lib

1.assets只支持js、css文件(含less、coffee)2.getAssetsLink支持任意文件3.assets combo服务支持js、css的combo4.可以用本地的assets combo代理日常、线上assets5.建议在本地启用assets服务进行开发,编写完毕后再同步到demo服务器6.demo服务器上assets方法固定使用assets.demo.tmall.net作为assets服务

12年3月19日星期一

Page 21: Demo review

assets 管理tm-dev-lib

目前的状态:令人疑惑,容易出错

scm like + crontab release?

12年3月19日星期一

Page 22: Demo review

tm-dev-lib

文件引入

render($file, $data)引入指定文件

dpl调用dpl库

header、bodyHeader、footer调用php页头页尾

12年3月19日星期一

Page 23: Demo review

文件引入 dpl和php页头页尾tm-dev-lib

应用优先级高于框架

12年3月19日星期一

Page 24: Demo review

文件引入 数据传递tm-dev-lib

1、通过assign($name, $data)向模板赋值

assign方法可以突破作用域的限制

2、通过方法的参数传值,建议使用数组的形式

12年3月19日星期一

Page 25: Demo review

跨文件使用变量 突破作用域限制tm-dev-lib

在模板内部获取View实例,调用assign方法赋值

将变量声明为global

使用C方法

12年3月19日星期一

Page 26: Demo review

引入TMS区块tm-dev-lib

importTMS($file)

目前只适合于引入没有php代码的区块

12年3月19日星期一

Page 27: Demo review

索引机制tm-dev-lib

http://demo.tmall.net/12年3月19日星期一

Page 28: Demo review

索引机制tm-dev-lib

12年3月19日星期一

Page 29: Demo review

索引机制 如何生成tm-dev-lib

svn hook : post-commit

svn update 更新web目录svnlook changed 获取变更列表分别处理目录和文件变动,生成sql语句并执行

遇到@noindex标记:删除索引insert into .... on duplicate key update...

12年3月19日星期一

Page 30: Demo review

后续tm-dev-lib

解析velocity模板

12年3月19日星期一

Page 31: Demo review

后续tm-dev-lib

svn diff、svn log使开发方便地看到更改

12年3月19日星期一

Page 32: Demo review

后续tm-dev-lib

数据模型

12年3月19日星期一

Page 33: Demo review

后续tm-dev-lib

页面数据抓取

12年3月19日星期一

Page 34: Demo review

endthank you

12年3月19日星期一