老葛的Drupal培训班 Think in Drupal
表users包含了一个名为data的字段,用于存储保存序列化数组中的额外信息。如果你向对象$user中添加自己的数据,可以通过使用user_save()将数据存储在这一字段上。
// Add user's disposition.
global $user;
$extra_data = array('disposition' => t('Grumpy'));
user_save($user, $extra_data);
现在,对象$user拥有了一个永久属性:
global $user;
print $user->disposition;
Grumpy
尽管这种方式很方便,但是在用户登录和初始化对象$user时,由于以这种方式存储的数据需要反序列化,这样会增加更多的开销。因此,不加考虑就向$user中放入大量的数据将会引起一个性能瓶颈。一个可选的并且是更好的方法是,在$user加载时向它添加属性方法,将会在“在加载时向对象$user添加数据”一节进行讨论。