已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 虎绿林 > 开发

标题: hu60wap6开发日志

作者: @Ta

时间: 2012-05-09

点击: 21698

2012-4-22 12点
看了李智欢的日志,深受启发,于是我也决定写一份
无限期连载

,所以我的想法是先进行UBB替换,然后再把模板交给模板引擎处理。
时间退回4月19日
    我看了 @趣航科技小智 写的贴“绿虎论坛之我观”,他指出了虎绿林程序一些很严重的问题。
    其实我也知道,虎绿林把逻辑和显示混在一起的方法非常不方便。比如,有时候为了修改排版,我不得不把一段php代码从一个地方移到另一个地方。而我的手机又不支持复制,所以我不得不重新输入那些代码!
    于是我产生了一个想法:重做虎绿林程序,使用一个正规的模板引擎。
    我看了一些常用模板引擎的介绍,最终决定用Smarty,因为它是编译型的(虎绿林那个简陋的“模板引擎”也是编译型的),速度会很快。

4月20日
    我下载了smary3.1.8,README是英文的。所以我开始在php100上看smarty中文手册。

4月21日
    等我看完之后我才发现,自己看的是smarty2的手册,很多属性和方法都过时了,我晕!
    开始修改hu60wap5/0wap的类(其实都是一些static的函数,没有一个类是需要new的,我是把class::function当成命名空间来用了。
    下午4点,hu60wap6的架构完成,简单介绍一下:
根目录
  m.php //所有页面的入口文件
  config.inc.php //主配置文件。在任何目录的php都可以requeir_once它,然后就可以直接使用虎绿林的类库了。使用了自动加载类(autoload)的机制。
  class //存放类文件。命名规则是classname.php,并且保持小写。比如,类myDB就要保存成class/mydb.php。符合命名规则的类在你第一次使用它时可以被自动加载,不需要include。
  func  //存放函数和函数库,使用require_once FUNC_DIR.'/myfile.php';加载
  sub  //存放“过程调用”,如用于防止CC攻击的php等。使用include SUB_DIR.'/myfile.php';加载(用require_once也行)
  config  //存放配置文件。用require_once CONFIG_DIR.'/myfile.php';加载。如果是smarty的配置文件,保存成myfile.conf,并可用{load_conf file="myfile.conf"}加载
  page  //分类存放php程序、模板和其他相关文件的目录。
    比如,要建立一个论坛,先在page目录建立一个子目录,命名为bbs,然后在page/bbs里放一个php,命名为tz.php,然后就可以使用…/m.php/bbs.tz.xhtml调用该php了,具体规则在其他文档中介绍。
  temp  //临时目录。目前有两个子目录:tplc  这是smarty模板的编译目录;pagecache  smarty的输出缓存目录。在使用smarty的缓存之前请先了解清楚它的机制,不建议滥用缓存。
  

4月22日
    写了page/common/(head|foot).(xhtml|wml).tpl,写了page/error/no_tpl.tpl和no_page.(tpl|php)

4月23日
    尝试性的安装了php5.4.0(fastcgi模式。PHP5.3以后就不支持isapi了,而且要装VC9运行库)。发生一个奇怪的问题:我自定义的class/smarty/plugins/resource.hu60.php在PHP5.4总是找不到模板,但PHP5.2正常。不解。

4月23日
    我仔细分析了错误提示(感谢谷歌翻译),它说:“smarty_resource_hu60_source函数的第三个参数是引用类型,但是传递的是值类型”。
    第三个参数,&$smarty!!我恍然大悟:PHP5中object的传递已经默认使用引用传递了,不用再加&!而我之所以加了&,完全是因为我复制的php100上旧smarty插件接口的参数。再次感到杯具。

4月27日
  正在把form表单类移植到模板引擎,让模板也能方便地构建xhtml/wml兼容表单。
  form插件的语法非常接近html:
{form method="post" action="a.b.c"}
A:{input type="text" name="a"}
{input type="submit" value="提交"}
{endform}

4月28日
  switch遇到错误,怎么也找不到问题所在。最后我好好想了想,终于发现原来我把case写成了cast!在魔兽宏里写cast顺手了--.
  21点40,已完成form的smarty插件。

5月1日
    模仿smarty的插件机制,添加了reg_page_bid机制,使用户可以很容易地添加一个新的页面类型。比如用户要加一个电脑版,只要写好func/hu60.reg.page.html.php和page/$cid/$pid.html,(在sub/reg_page_bid.php里注册一下,)并访问m.php/$cid.$bid.html就大功告成。
    

5月7日
    /6/m.php/user.login.登陆页。我觉得配色非常难看,求建议。

5月9日
    添加了extid机制,可以使用非常简洁(且搜索引擎友好)的网址传递参数,如m.php/bbs.tz.13256.xhtml

[隐藏样式|查看源码]


『回复列表(25|隐藏机器人聊天)』

1. 支持
(/@Ta/2012-04-22 12:36//)

2. 支持,觉得还是加后台好一些
(/@Ta/2012-04-22 12:54//)

3. 气氛还好
(/@Ta/2012-04-22 12:56//)

4. UC我恨你!多框输入发表之后的段错位(最后一段的其中一部分跑到第一段去了)是怎么回事啊?!
(/@Ta/2012-04-22 13:17//)

5.  支持 支持
(/@Ta/2012-04-22 13:17//)

6. 加油
(/@Ta/2012-04-22 13:34//)

7. 支持,期待!
(/@Ta/2012-04-22 14:15//)

8. 坐等老虎忘记变量名:)
(/@Ta/2012-04-22 15:49//)

9. 学习学习
(/@Ta/2012-04-22 20:37//)

10. ■看了这些,我们至少应该明白∶遇到问题是需要自己解决的!如果每个人都懂这个道理,那么自学不在是问题…
(/@Ta/2012-04-27 01:52//)

11. 厉害,支持
(/@Ta/2012-04-27 07:06//)

12. 有目标,有努力,成功,就这么简单!
(/@Ta/2012-04-27 07:37//)

13. 顶上天去
(/@Ta/2012-04-27 08:39//)

14. 顶
(/@Ta/2012-04-27 11:52//)

15. 鼻屎_不好吃_
(/@Ta/2012-04-27 13:11//)

16. 关注
(/@Ta/2012-04-28 15:35//)

17. @
(/@Ta/2012-04-28 22:10//)

18. 哈
(/@Ta/2012-04-29 08:42//)

19. 又更新
(/@Ta/2012-05-01 14:22//)

下一页 1/2页,共25楼

回复需要登录

9月17日 04:23 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1