对于文本协议,就不多说了,Python是很好处理,但是当要传输二进制数据时,如果不熟悉的话,就达不到想要的效果了。如:要传输0b1000000011001100到服务器,转化为十六进制数据0x80cc,传到服务器后,就变成38306363这样的了。实际上是因为在传输时,是以字符串的形式传输的,因此值就变了。
网络上大多数是建议用struct,我用了一下,如果我们的二进制数据变成十六进制的字符串是'80cc89a7' 这样的形式,如果使用struct感觉不是很方便,直接使用unhexlify把数据格式化一下,然后[……]
drupal的分页方法,就是查询数据时,用pager_query($sql, $step, 0)代替db_query($sql),然后再调用theme(‘pager’, NULL, $step, 0)来产生分页,不过有的时候会发现theme(‘pager’, NULL, $step, 0)根本没有产生分页,可能导致这个问题的原因是pager_query参数不全造成的,可以给pager_query加上第4个参数来解决这个问题。如:
$sql = ‘SELECT * from {drupal4you} WHERE 1=1 ORDER BY {drupal4you}.nid DESC’;[……]
drupal用户注册时,默认只需要提供用户名和密码即可。很多时候这个是完全不够用的,我们还希望在用户注册时记录更多的信息,比如生日,性别和自我介绍等等。这个时候就需要hook_user了:
function yourmodulename_user($op, &$edit, &$user, $category = NULL) {
switch ($op) {
//注册时扩展的字段
case ‘register’:
$fields[‘personal_profile’][‘custom1’] = array(
‘#title’ => t(‘自定义字段1’),
‘#type’ => ‘textfield’,
);
$fields[‘personal_profile’][‘custom2’] = array(
‘#title’ => t(‘自定义字段2’),
‘#type’ => ‘textfield’,
);
return $fields;
[……]