Posts Tagged ‘drupal7’

drupal7:数据库查询更新的改变

August 21st, 2010

今天将以前的一个drupal6项目尝试性转到drupal 7上去,因为drupal7的后台实在长得太炫了,

而且为了以后转BT项目过去先试手做好准备。

发现有几个大的变化:

1.node_save这个API更加严格了,必须先定义好语言,否则会出现warning

2.就是SQL update 和 insert语法直接换了个校,select语法还好,没改什么,但又增加了一个办法。

但总的来说,我发现好像更加不需要背SQL了……

以drupal database上的一个例子:

<code>db_update('example')
-&gt;condition('id', $id)
-&gt;fields(array('field2' =&gt; 10))
-&gt;execute();</code>
<code>上面就相当于SQL的update example set 'field2' = 10 where 'id'= $id</code>
<span style="font-family: monospace;">同理,insert也是这么改的</span>
<span style="font-family: monospace;">这样的好处应该就是方便drupal在多个数据库间迁移</span>

参考:http://civicactions.com/node/1270http://api.drupal.org/api/group/database/7

Share

drupal 7 : node_save 的改变

August 21st, 2010

drupal 7的变动真是大啊

今天打算用drupal 7开发一个小项目,结果就在node_save 上出问题了,搞了快一个小时

原来drupal7支持了多国语言,所以在$node的结构上有了重大的变革,这可以用node_load()去查看新的$node的结构

在node_save执行前,必须先设置语言,留意加红部分

$node= new stdClass;
$node->type = “item”;
$node->language=”und”;
$node->format=2;//html
$node->title=$title;
$node->body[und][0][value]=$body;
node_save($node); //保存
Share

drupal 7 更加简洁了:从db_query看

August 21st, 2010

记得在学drupal 6的时候,我经常在纠结,为什么db_query后还需要db_fetch_object呢,这不浪费时间么

现在的drupal7直接取消了db_fetch_object了

db_query后只需要foreach就好了!

爽啊,而且要舒服多了,输出记录也可以方便 统计了

由于db_query需要大量使用,优化这个API无疑是非常明智的

Share

drupal7试用

August 14th, 2010

第一次试用drupal 7是在一年前吧,当时还没有alpha版,只有一个dev,当时连安装都不成功

现在都已经是alpha 6了

安装成功后与drupal 6/5完全不一样了,drupal 5 与 drupal 6是很像的,看来drupal.org社区为这个drupal 7下了大功夫啊

暂时没有发现drupal 7有什么惊天地泣鬼神的突破

1.SEO相关:据说有个叫semantic web的东西会让GOOGLE和BING喜欢,可惜啊,我一般不会用drupal 的原theme

2.CCK集成在里面了,估计这里会轻度提高性能,因为以往没集成时,每发表一个node就会同时增加多一个CCK type的记录,这无论是新增还是查询都会耗性能。但总的来说,提高不会很多,以致于可以忽略吧

3.theme和模块的开发好像变得更容易了,应该是件好事吧,不过我常用的几个API没怎么大改

嗯,看来,BETA后,如果是小项目如eyes.trackself.com的话,可以尝试用D7玩玩,但直到D7.6正式版出之前,不会用于大项目的尝试,没必要为了一些我用不到的功能而再去适应新的程序。

Share

sqlite

May 10th, 2010

听说drupal7的一个重大转变就是从默认的mysqli数据库转为了sqlite了

sqlite这东西我以前也听说过,只是当时觉得性能应该会很差吧,毕竟”flat file”怎么说I/O不可能比得上数据库的,结果这次drupal7的改变,让我觉得有必要看看sqlite是什么一回事了。

如果真如其文档般所说的在读的时候是MYSQL的N倍的话,事情就变得有意思了。

以前的BT代码可以大面积修改了,将文件并发改为与SQL交互,会快很多吧,不过也许也不一定。

另外则是也许有可能将SQLITE变为mysql的前端,做成一个proxy

Share
1 2 »