狠狠撸

狠狠撸Share a Scribd company logo
Demo   Review
                       Part-1
                         仙羽




12年3月19日星期一
PHP

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




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

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

    __是demo-dev-lib中定义的快捷输出函数
12年3月19日星期一
PHP

   变量和作用域:数据类型




12年3月19日星期一
PHP

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




12年3月19日星期一
PHP

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




12年3月19日星期一
PHP

   变量和作用域:作用域
    函数内部不能引用外部的变量
      预定义变量、常量除外
      使用global声明的变量除外

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

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




12年3月19日星期一
PHP

   常量




12年3月19日星期一
PHP

   运算符
    和javascript基本?一样
        $a = $a || $b;

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

    == 值等于
    === 全等于

    字符串连接 . .=

    数组存取: [下标]



12年3月19日星期一
PHP

   控制结构




12年3月19日星期一
PHP

   函数




12年3月19日星期一
PHP

   类




12年3月19日星期一
PHP

   常用函数




12年3月19日星期一
PHP

   学习资源
    code.google.com/p/phpdoc-zh




12年3月19日星期一
tm-dev-lib

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




12年3月19日星期一
tm-dev-lib

                                     Assets
                                    静态资源服务

              CategoryModel           DPL
                 类目模型                标准样式库

               ItemModel            phpcommon
                 商品模型                 页头页尾

                 Model                View
 MySQL            模型                  视图
                                                          Input
                           Action         ORG            输入获取
                           控制器           公共类库


                         tmdev.php     Common Function
                                          公共函数库
                          入口文件



12年3月19日星期一
tm-dev-lib

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




12年3月19日星期一
tm-dev-lib

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




12年3月19日星期一
tm-dev-lib
                assets.local.tmall.net
                   开发者本地机器                svn up
                                          svn ci


                                         taobao assets
                                            server



                                         svn up
                                         svn ci
挂载共享目录
                assets.demo.tmall.net



12年3月19日星期一
tm-dev-lib

   assets方法




12年3月19日星期一
tm-dev-lib

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

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

   scm like + crontab release?




12年3月19日星期一
tm-dev-lib

   文件引入

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




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




12年3月19日星期一
tm-dev-lib

   文件引入 dpl和php页头页尾




   应用优先级高于框架



12年3月19日星期一
tm-dev-lib

   文件引入 数据传递
    1、通过assign($name, $data)向模板赋值
              assign方法可以突破作用域的限制
    2、通过方法的参数传值,建议使用数组的形式




12年3月19日星期一
tm-dev-lib

   跨文件使用变量 突破作用域限制

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

   将变量声明为global

   使用C方法




12年3月19日星期一
tm-dev-lib

   引入TMS区块

    importTMS($file)

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




12年3月19日星期一
tm-dev-lib

   索引机制




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

   索引机制




12年3月19日星期一
tm-dev-lib

   索引机制 如何生成
    svn hook : post-commit
          svn update 更新web目录
          svnlook changed 获取变更列表
          分别处理目录和文件变动,生成sql语句并执行
              遇到@noindex标记:删除索引
              insert into .... on duplicate key update...



12年3月19日星期一
tm-dev-lib

   后续



                解析velocity模板




12年3月19日星期一
tm-dev-lib

   后续


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




12年3月19日星期一
tm-dev-lib

   后续

                数据模型




12年3月19日星期一
tm-dev-lib

   后续

                页面数据抓取




12年3月19日星期一
end
              thank you
12年3月19日星期一

More Related Content

Demo review

  • 1. Demo Review Part-1 仙羽 12年3月19日星期一
  • 2. PHP 起始符和结束符:<?php ?> 文件末尾的?>结束符不是必须的 不要使用short_tag <? ?> <?=$val;?> __是demo-dev-lib中定义的快捷输出函数 12年3月19日星期一
  • 3. PHP 变量和作用域:数据类型 12年3月19日星期一
  • 4. PHP 变量和作用域:类型转换及相关 12年3月19日星期一
  • 5. PHP 变量和作用域:预定义变量 12年3月19日星期一
  • 6. PHP 变量和作用域:作用域 函数内部不能引用外部的变量 预定义变量、常量除外 使用global声明的变量除外 函数内可以定义静态变量,其值函数执行后不消失 文件中定义的变量在include、require的文件中也生效 12年3月19日星期一
  • 7. PHP 常量 12年3月19日星期一
  • 8. PHP 运算符 和javascript基本?一样 $a = $a || $b; False == ‘’,‘0’,0,0.0,array(), Null == 值等于 === 全等于 字符串连接 . .= 数组存取: [下标] 12年3月19日星期一
  • 9. PHP 控制结构 12年3月19日星期一
  • 10. PHP 函数 12年3月19日星期一
  • 11. PHP 类 12年3月19日星期一
  • 12. PHP 常用函数 12年3月19日星期一
  • 13. PHP 学习资源 code.google.com/p/phpdoc-zh 12年3月19日星期一
  • 14. tm-dev-lib 服务器要求 1.php5.3+ 2.开启以下拓展:curl、mbstring、mysql、json 3.将tm-dev-lib路径添加到include_path中 12年3月19日星期一
  • 15. tm-dev-lib Assets 静态资源服务 CategoryModel DPL 类目模型 标准样式库 ItemModel phpcommon 商品模型 页头页尾 Model View MySQL 模型 视图 Input Action ORG 输入获取 控制器 公共类库 tmdev.php Common Function 公共函数库 入口文件 12年3月19日星期一
  • 16. tm-dev-lib a.tbcdn.cn 1.支持combo,其中??为分隔符 2.如果文件不存在(含combo),则发送404 3.不寻找未压缩版本 4.头信息中不包含编码格式,包括文件类型 5.每个文件都可以有查询串(?部分) 12年3月19日星期一
  • 17. tm-dev-lib tm-dev-lib assets 1.以a.tbcdn.cn为蓝本 2.支持less、coffeescript、markdown实时解析 3.支持指定不同的分支目录 4.支持文件缓存,当本地文件不存在时,自动从 指定的服务器获取文件,并能侦测404状态 5.约定优于配置,没有配置页面(ucool) 12年3月19日星期一
  • 18. tm-dev-lib assets.local.tmall.net 开发者本地机器 svn up svn ci taobao assets server svn up svn ci 挂载共享目录 assets.demo.tmall.net 12年3月19日星期一
  • 19. tm-dev-lib assets方法 12年3月19日星期一
  • 20. tm-dev-lib assets note 1.assets只支持js、css文件(含less、coffee) 2.getAssetsLink支持任意文件 3.assets combo服务支持js、css的combo 4.可以用本地的assets combo代理日常、线上 assets 5.建议在本地启用assets服务进行开发,编写完毕 后再同步到demo服务器 6.demo服务器上assets方法固定使用 assets.demo.tmall.net作为assets服务 12年3月19日星期一
  • 21. tm-dev-lib assets 管理 目前的状态:令人疑惑,容易出错 scm like + crontab release? 12年3月19日星期一
  • 22. tm-dev-lib 文件引入 dpl header、bodyHeader、footer 调用dpl库 调用php页头页尾 render($?le, $data) 引入指定文件 12年3月19日星期一
  • 23. tm-dev-lib 文件引入 dpl和php页头页尾 应用优先级高于框架 12年3月19日星期一
  • 24. tm-dev-lib 文件引入 数据传递 1、通过assign($name, $data)向模板赋值 assign方法可以突破作用域的限制 2、通过方法的参数传值,建议使用数组的形式 12年3月19日星期一
  • 25. tm-dev-lib 跨文件使用变量 突破作用域限制 在模板内部获取View实例,调用assign方法赋值 将变量声明为global 使用C方法 12年3月19日星期一
  • 26. tm-dev-lib 引入TMS区块 importTMS($file) 目前只适合于引入没有php代码的区块 12年3月19日星期一
  • 27. tm-dev-lib 索引机制 http://demo.tmall.net/ 12年3月19日星期一
  • 28. tm-dev-lib 索引机制 12年3月19日星期一
  • 29. tm-dev-lib 索引机制 如何生成 svn hook : post-commit svn update 更新web目录 svnlook changed 获取变更列表 分别处理目录和文件变动,生成sql语句并执行 遇到@noindex标记:删除索引 insert into .... on duplicate key update... 12年3月19日星期一
  • 30. tm-dev-lib 后续 解析velocity模板 12年3月19日星期一
  • 31. tm-dev-lib 后续 svn diff、svn log 使开发方便地看到更改 12年3月19日星期一
  • 32. tm-dev-lib 后续 数据模型 12年3月19日星期一
  • 33. tm-dev-lib 后续 页面数据抓取 12年3月19日星期一
  • 34. end thank you 12年3月19日星期一