今天进入狗屎皮重构的第二天。实践证明,这第二天,确实是非常2的一天。
首先,Symfony推出了一个新框架:Symfony 2。具体介绍见:http://www.symfony.com/。我刚搭建了Symfony 1.4.9的环境,实在不想在一个全新的框架上进行开发——虽然如此做对熟悉一个东西是很有好处的。
今天进入狗屎皮重构的第二天。实践证明,这第二天,确实是非常2的一天。
首先,Symfony推出了一个新框架:Symfony 2。具体介绍见:http://www.symfony.com/。我刚搭建了Symfony 1.4.9的环境,实在不想在一个全新的框架上进行开发——虽然如此做对熟悉一个东西是很有好处的。
今天开始重构狗屎皮。
基本的框架是:后台机器人采用pMq编写的机器人进行采集,这个机器人是用Python编写的;由于我对Python以及基于Python的框架(我们之前用的是TG2)不是很熟悉,所以决定重新用Symofny改写。
今天是第一天。主要是进行数据库的构建。
解决了一个“小”问题,就是:Symfony在缺省时数据库所有文本字段采用的是拉丁编码,必须设置一下强迫其采用UTF8编码,代码如下:
# File: config/database.yml
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=localhost;dbname=go4pro
username: root
password:
attributes:
default_table_charset: utf8
default_table_collate: utf8_general_ci
最后三行紧要。
今天还对样本数据进行了一些编写。用Symfony内置的机制进行数据填充还是很快很快的。
比如我们可以这样编写一个comment.yml文件:
# File data/fixtures/comment.yml
G4pComment:
first_comment:
G4pArticle: first
username: Dummy
content: 好文章!
<?php for($i=1;$i<=15;$i++): ??>;
comment_<?php echo $i ??>:
G4pArticle: first
username: 访客<?php echo $i.n; ??>
content: 我是路人<?php echo $i.n; ??>
<?php endfor; ??>
这样就可以一下子产生1+15个数据。YML文件是非常讲究格式的,必须注意书写时的缩进。
今天是五一劳动节,我也劳动了一把:很快的完成了任氏有无轩中另一个重要的模块:读书模块的建立。
访问地址是:https://rsywx.net/reading。
有了前几天的基础,今天的编程速度非常的快。我有信心说我已经跨过了Symofny的学习曲线了……
在第七天,我终于完成了将任氏有无轩的最重要的部分:藏书管理部分迁移到了Symfony,并且是在应用环境。进行了一些小的修改就不说了。
本来是要用Lucene进行索引编制的,但是我的应用实践表明,Lucene实在对中文支持很不好。所以,我只好放弃Lucene,而改用最原始select大法。
最近这段时间,没有继续我的任氏有无轩的改造,而是不务正业的搞了个小网络应用,地址在这里:http://www.bspmq.com
抱歉,过了这么久才放出我第四天的进程:因为这一天的过程实在比较难,而结果却很有成就感。我完成了以下工作:
第三天没有什么特别的突破,只有两个改进:
首先,是完成了页面。通过include_partial,我将各个小板块都独立了出来,并完成了原来的页面的样子:
其次,是修改了routing.yml,从而禁止了直接输入类似:http://…/books/11/edit 来修改书本信息的可能。如果用户试图这么做,会出现404错误。